From c55c4ec1ce73faba77c4d3c8190aa1a2ac57ebc9 Mon Sep 17 00:00:00 2001 From: hubwriter Date: Tue, 7 Oct 2025 11:01:39 +0100 Subject: [PATCH 1/2] Add XCode to Copilot Quickstart article (#57809) --- .../help/copilot/xcode-chat-about-file.png | Bin 0 -> 34182 bytes content/copilot/get-started/quickstart.md | 98 ++++++++++++++++-- .../set-up/install-copilot-extension.md | 1 + 3 files changed, 89 insertions(+), 10 deletions(-) create mode 100644 assets/images/help/copilot/xcode-chat-about-file.png diff --git a/assets/images/help/copilot/xcode-chat-about-file.png b/assets/images/help/copilot/xcode-chat-about-file.png new file mode 100644 index 0000000000000000000000000000000000000000..fdcfd08f277b8ea37751bf8ca03fb10f6de89bc2 GIT binary patch literal 34182 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 z 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 literal 0 HcmV?d00001 diff --git a/content/copilot/get-started/quickstart.md b/content/copilot/get-started/quickstart.md index 1f961f421382..5cd4a5245964 100644 --- a/content/copilot/get-started/quickstart.md +++ b/content/copilot/get-started/quickstart.md @@ -24,11 +24,15 @@ contentType: get-started ## Introduction + + + + {% webui %} You can use {% data variables.product.prodname_copilot_short %} to get answers to coding-related questions, such as how best to code something, how to fix a bug, or how someone else's code works. For full details of what {% data variables.product.prodname_copilot_short %} can do, see [AUTOTITLE](/copilot/about-github-copilot/what-is-github-copilot). -Instructions for using {% data variables.product.prodname_copilot_short %} differ depending on where you are using it. This version of the quickstart is for {% data variables.product.github %}. Click the tabs above for instructions on using {% data variables.product.prodname_copilot_short %} in other environments. +Instructions for using {% data variables.product.prodname_copilot_short %} differ depending on where you are using it. This version of the quickstart is for using {% data variables.product.prodname_copilot_short %} on the {% data variables.product.github %} website. Click the tabs above for instructions on using {% data variables.product.prodname_copilot_short %} in other environments. {% ifversion fpt %} {% data reusables.copilot.quickstart-signup %} @@ -82,6 +86,10 @@ For more information, see [AUTOTITLE](/copilot/github-copilot-chat/copilot-chat- {% endwebui %} + + + + {% windowsterminal %} {% data reusables.copilot.quickstart-intro %} @@ -94,9 +102,7 @@ Instructions for using {% data variables.product.prodname_copilot_short %} diffe ## Prerequisites -{% ifversion ghec %} * **Subscription to {% data variables.product.prodname_copilot_short %}**. To use {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_windows_terminal %}, you must have an active {% data variables.product.prodname_copilot %} subscription. {% data reusables.copilot.subscription-prerequisite %} -{% endif %} * **{% data variables.product.prodname_windows_terminal %} Canary**. Terminal Chat is only available in [{% data variables.product.prodname_windows_terminal %} Canary](https://github.com/microsoft/terminal?tab=readme-ov-file#installing-windows-terminal-canary). ## Use {% data variables.product.prodname_copilot_short %} in Terminal Chat @@ -132,6 +138,10 @@ After you've installed {% data variables.product.prodname_windows_terminal %} Ca {% endwindowsterminal %} + + + + {% vscode %} {% data reusables.copilot.quickstart-intro %} @@ -144,9 +154,7 @@ Instructions for using {% data variables.product.prodname_copilot_short %} diffe ## Prerequisites -{% ifversion ghec %} * **{% data variables.product.prodname_copilot_short %} subscription** - To use {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_vscode_shortname %}, you must have an active {% data variables.product.prodname_copilot %} subscription. {% data reusables.copilot.subscription-prerequisite %} -{% endif %} {% data reusables.copilot.vscode-prerequisites %} ## Chat with {% data variables.product.prodname_copilot %} @@ -190,6 +198,10 @@ The following example uses JavaScript, however other languages will work similar {% endvscode %} + + + + {% visualstudio %} {% data reusables.copilot.quickstart-intro %} @@ -202,9 +214,7 @@ Instructions for using {% data variables.product.prodname_copilot_short %} diffe ## Prerequisites -{% ifversion ghec %} * **Subscription to {% data variables.product.prodname_copilot_short %}**. To use {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_vs %}, you must have an active {% data variables.product.prodname_copilot %} subscription. {% data reusables.copilot.subscription-prerequisite %} -{% endif %} {% data reusables.copilot.visual-studio-prerequisites %} ## Chat with {% data variables.product.prodname_copilot %} @@ -240,6 +250,10 @@ The following example uses JavaScript, however other languages will work similar {% endvisualstudio %} + + + + {% jetbrains %} {% data reusables.copilot.quickstart-intro %} @@ -252,9 +266,7 @@ Instructions for using {% data variables.product.prodname_copilot_short %} diffe ## Prerequisites -{% ifversion ghec %} -* **Subscription to {% data variables.product.prodname_copilot_short %}**. To use {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_vs %}, you must have an active {% data variables.product.prodname_copilot %} subscription. {% data reusables.copilot.subscription-prerequisite %} -{% endif %} +* **Subscription to {% data variables.product.prodname_copilot_short %}**. To use {% data variables.product.prodname_copilot %} in a JetBrains IDE, you must have an active {% data variables.product.prodname_copilot %} subscription. {% data reusables.copilot.subscription-prerequisite %} * **A compatible JetBrains IDE**. {% data variables.product.prodname_copilot_short %} is supported in a large number of JetBrains IDEs. For a full list, see [AUTOTITLE](/copilot/github-copilot-chat/copilot-chat-in-ides/using-github-copilot-chat-in-your-ide?tool=jetbrains). {% data reusables.copilot.jetbrains-plugin-prerequisites %} @@ -291,3 +303,69 @@ The following example uses JavaScript, however other languages will work similar {% data reusables.copilot.quickstart-nextsteps2 %} {% endjetbrains %} + + + + + +{% xcode %} + +{% data reusables.copilot.quickstart-intro %} + +Instructions for using {% data variables.product.prodname_copilot_short %} differ depending on where you are using it. This version of the quickstart is for XCode in MacOS. Click the tabs above for instructions on using {% data variables.product.prodname_copilot_short %} in other environments. + +{% ifversion fpt %} +{% data reusables.copilot.quickstart-signup %} +{% endif %} + +## Prerequisites + +* **Subscription to {% data variables.product.prodname_copilot_short %}**. To use {% data variables.product.prodname_copilot %} in Xcode, you must have an active {% data variables.product.prodname_copilot %} subscription. {% data reusables.copilot.subscription-prerequisite %} +* **Latest version of the {% data variables.product.prodname_copilot %} extension**. For installation instructions, see [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension?tool=xcode). +* **Sign in to {% data variables.product.company_short %} in Xcode**. If you experience authentication issues, see [AUTOTITLE](/copilot/troubleshooting-github-copilot/troubleshooting-issues-with-github-copilot-chat#troubleshooting-authentication-issues-in-your-editor). + +## Chat with {% data variables.product.prodname_copilot %} + +After you've installed the {% data variables.product.prodname_copilot %} plugin, you can ask {% data variables.product.prodname_copilot_short %} coding-related questions. + +> [!NOTE] {% data reusables.copilot.chat-access-denied %} + +1. Open an existing code file. +1. Click **Editor** in the menu bar, then click **{% data variables.product.prodname_copilot %}** then **Open Chat**. + + {% data variables.copilot.copilot_chat_short %} opens in a new window. + +1. In the {% data variables.copilot.copilot_chat_short %} window, select the file to indicate that you want to chat about this file. + + ![Screenshot of a file selected in the Chat window. The file is highlighted with a dark orange outline.](/assets/images/help/copilot/xcode-chat-about-file.png) + +1. Type `what does this file do` then press Enter. + + {% data variables.product.prodname_copilot_short %}'s answer is displayed below your question. + +1. Select a line of code in the editor. +1. In the {% data variables.copilot.copilot_chat_short %} window, type `explain this line` then press Enter. + +## Get your first code completion suggestion + +The following example uses Swift, however other languages will work similarly. + +1. Create a new file called `CalculateDays.swift`. +1. Type the following code in the new file: + + ```swift copy + import Foundation + + func calculateDaysBetweenDates(_ start: Date, _ end: Date) + ``` + + {% data variables.product.prodname_copilot %} adds a suggestion of code that continues this function. Suggestions are displayed in grayed text. +1. {% data reusables.copilot.accept-suggestion %} +1. {% data variables.product.prodname_copilot_short %} will continue to make suggestions, each of which you can accept by pressing Tab. + +## Next steps + +{% data reusables.copilot.quickstart-nextsteps1 %} +{% data reusables.copilot.quickstart-nextsteps2 %} + +{% endxcode %} diff --git a/content/copilot/how-tos/set-up/install-copilot-extension.md b/content/copilot/how-tos/set-up/install-copilot-extension.md index 8b0926b651ad..22b323197b26 100644 --- a/content/copilot/how-tos/set-up/install-copilot-extension.md +++ b/content/copilot/how-tos/set-up/install-copilot-extension.md @@ -203,6 +203,7 @@ To use {% data variables.product.prodname_copilot %} for Xcode you must have Xco 1. Make sure you have access to {% data variables.product.prodname_copilot %}. For information, see [AUTOTITLE](/copilot/about-github-copilot#getting-access-to-github-copilot). 1. Make sure you have a compatible version of Xcode installed. To use {% data variables.product.prodname_copilot %} for Xcode you must have Xcode version 8.0 or above and macOS Monterey (12.0) or above. See [Xcode](https://developer.apple.com/xcode/) on the Apple Developer site. 1. Download the latest version of the {% data variables.product.prodname_copilot %} for Xcode extension from the [`github/CopilotForXcode` repository](https://github.com/github/CopilotForXcode/releases/latest/download/GitHubCopilotForXcode.dmg) and install it. A background item will be added for the application to be able to start itself when Xcode starts. +1. Open the **{% data variables.product.prodname_copilot %} for Xcode** application from the Applications folder and step through the on-screen instructions for setting up the extension. ## Granting required permissions From ca031c25c6ce8d4c78b06443ceb3d6956bec26cb Mon Sep 17 00:00:00 2001 From: hubwriter Date: Tue, 7 Oct 2025 11:48:25 +0100 Subject: [PATCH 2/2] Tiny correction now that agent mode is in most IDEs Clarified the distinction between the coding agent and agent mode in IDEs. --- .../copilot/concepts/agents/coding-agent/about-coding-agent.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/copilot/concepts/agents/coding-agent/about-coding-agent.md b/content/copilot/concepts/agents/coding-agent/about-coding-agent.md index 3a4b33e44fa9..83f84046b546 100644 --- a/content/copilot/concepts/agents/coding-agent/about-coding-agent.md +++ b/content/copilot/concepts/agents/coding-agent/about-coding-agent.md @@ -50,7 +50,7 @@ When used effectively, {% data variables.copilot.copilot_coding_agent %} offers ### {% data variables.copilot.copilot_coding_agent %} versus agent mode -{% data variables.copilot.copilot_coding_agent %} is distinct from the "agent mode" feature available in {% data variables.product.prodname_vs %} and {% data variables.product.prodname_vscode %}. {% data variables.copilot.copilot_coding_agent %} works autonomously in a {% data variables.product.prodname_actions %}-powered environment to complete development tasks assigned through {% data variables.product.github %} issues or {% data variables.copilot.copilot_chat %} prompts, and creates pull requests with the results. In contrast, agent mode in {% data variables.product.prodname_vs %} and {% data variables.product.prodname_vscode %} is part of the {% data variables.copilot.copilot_edits %} feature that allows {% data variables.product.prodname_copilot_short %} to make autonomous edits directly in your local development environment. For more information about agent mode, see [AUTOTITLE](/copilot/using-github-copilot/copilot-chat/asking-github-copilot-questions-in-your-ide?tool=visualstudio#copilot-edits-1). +{% data variables.copilot.copilot_coding_agent %} is distinct from the "agent mode" feature available in your IDE. {% data variables.copilot.copilot_coding_agent %} works autonomously in a {% data variables.product.prodname_actions %}-powered environment to complete development tasks assigned through {% data variables.product.github %} issues or {% data variables.copilot.copilot_chat %} prompts, and creates pull requests with the results. In contrast, agent mode in your IDE makes autonomous edits directly in your local development environment. For more information about agent mode, see [AUTOTITLE](/copilot/using-github-copilot/copilot-chat/asking-github-copilot-questions-in-your-ide?tool=visualstudio#copilot-edits-1). ### Streamlining software development with {% data variables.copilot.copilot_coding_agent %}