# GitHub Copilot for Xcode [GitHub Copilot](https://github.com/features/copilot) is an AI pair programmer tool that helps you write code faster and smarter. Copilot for Xcode is an Xcode extension that provides inline coding suggestions as you type and a chat assistant to answer your coding questions. ## Chat GitHub Copilot Chat provides suggestions to your specific coding tasks via chat. Chat of GitHub Copilot for Xcode ## Code Completion You can receive auto-complete type suggestions from GitHub Copilot either by starting to write the code you want to use, or by writing a natural language comment describing what you want the code to do. Code Completion of GitHub Copilot for Xcode ## Requirements - macOS 12+ - Xcode 8+ - A GitHub Copilot subscription. To learn more, visit [https://github.com/features/copilot](https://github.com/features/copilot). ## Getting Started 1. Install via [Homebrew](https://brew.sh/): ```sh brew install --cask github-copilot-for-xcode ``` Or download the `dmg` from [the latest release](https://github.com/github/CopilotForXcode/releases/latest/download/GitHubCopilotForXcode.dmg). Drag `GitHub Copilot for Xcode` into the `Applications` folder:

Screenshot of opened dmg

Updates can be downloaded and installed by the app. 1. Open the `GitHub Copilot for Xcode` application (from the `Applications` folder). Accept the security warning.

Screenshot of MacOS download permission request

1. A background item will be added to enable Copilot to start when `GitHub Copilot for Xcode` is opened.

Screenshot of background item

1. Two permissions are required: `Accessibility` and `Xcode Source Editor Extension`. For more on why these permissions are required see [TROUBLESHOOTING.md](./TROUBLESHOOTING.md). The first time the application is run the `Accessibility` permission should be requested:

Screenshot of accessibility permission request

The `Xcode Source Editor Extension` permission needs to be enabled manually. Click `Extension Permission` from the `GitHub Copilot for Xcode` application settings to open the System Preferences to the `Extensions` panel. Select `Xcode Source Editor` and enable `GitHub Copilot`:

Screenshot of extension permission

1. After granting the extension permission, open Xcode. Verify that the `Github Copilot` menu is available and enabled under the Xcode `Editor` menu.

Screenshot of Xcode Editor GitHub Copilot menu item

Keyboard shortcuts can be set for all menu items in the `Key Bindings` section of Xcode preferences. 1. To sign into GitHub Copilot, click the `Sign in` button in the settings application. This will open a browser window and copy a code to the clipboard. Paste the code into the GitHub login page and authorize the application.

Screenshot of sign-in popup

1. To install updates, click `Check for Updates` from the menu item or in the settings application. After installing a new version, Xcode must be restarted to use the new version correctly. New versions can also be installed from `dmg` files downloaded from the releases page. When installing a new version via `dmg`, the application must be run manually the first time to accept the downloaded from the internet warning. 1. To avoid confusion, we recommend disabling `Predictive code completion` under `Xcode` > `Preferences` > `Text Editing` > `Editing`. 1. Press `tab` to accept the first line of a suggestion, hold `option` to view the full suggestion, and press `option` + `tab` to accept the full suggestion.

Screenshot of welcome screen

## How to use Chat Open Copilot Chat in GitHub Copilot. - Open via the Xcode menu `Xcode -> Editor -> GitHub Copilot -> Open Chat`.

Screenshot of Xcode Editor GitHub Copilot menu item

- Open via GitHub Copilot app menu `Open Chat`.

Screenshot of GitHub Copilot menu item

## How to use Code Completion Press `tab` to accept the first line of a suggestion, hold `option` to view the full suggestion, and press `option` + `tab` to accept the full suggestion. ## License This project is licensed under the terms of the MIT open source license. Please refer to [LICENSE.txt](./LICENSE.txt) for the full terms. ## Privacy We follow responsible practices in accordance with our [Privacy Statement](https://docs.github.com/en/site-policy/privacy-policies/github-privacy-statement). To get the latest security fixes, please use the latest version of the GitHub Copilot for Xcode. ## Support We’d love to get your help in making GitHub Copilot better! If you have feedback or encounter any problems, please reach out on our [Feedback forum](https://github.com/orgs/community/discussions/categories/copilot). ## Acknowledgements Thank you to @intitni for creating the original project that this is based on. Attributions can be found under About when running the app or in [Credits.rtf](./Copilot%20for%20Xcode/Credits.rtf).