---
title: Quickstart for GitHub Copilot
intro: 'Quickly learn how to use {% data variables.product.prodname_copilot %}.'
allowTitleToDifferFromFilename: true
versions:
feature: copilot
shortTitle: Quickstart
topics:
- Copilot
---
## 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)."
If you have access to {% data variables.product.prodname_copilot_workspace %}, {% data variables.product.prodname_copilot_short %} can also help you when you are editing files in a pull request on the {% data variables.product.github %} website by offering you code completion suggestions. For more information about {% data variables.product.prodname_copilot_workspace %}, see "[AUTOTITLE](/copilot/using-github-copilot/using-github-copilot-for-pull-requests/using-copilot-to-help-you-work-on-a-pull-request)."
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.
{% ifversion fpt %}
{% data reusables.copilot.quickstart-signup %}
{% endif %}
{% ifversion ghec %}
## Prerequisite
To use {% data variables.product.prodname_copilot %} on the {% data variables.product.github %} website, you must have an active {% data variables.product.prodname_copilot %} subscription. {% data reusables.copilot.subscription-prerequisite %}
{% endif %}
## Asking your first question
1. On {% data variables.product.github %}, navigate to a repository and open a file.
1. Click the {% data variables.product.prodname_copilot_short %} icon ({% octicon "copilot" aria-hidden="true" %}) at the top right of the file view.
![Screenshot of the {% data variables.product.prodname_copilot_short %} button, highlighted with a dark orange outline, at the top of the file view.](/assets/images/help/copilot/copilot-button-for-file.png)
1. Type a question in the "Ask {% data variables.product.prodname_copilot_short %}" box at the bottom of the chat panel and press Enter.
For example, you could enter:
* Explain this file.
* How could I improve this code?
* How can I test this code?
{% data variables.product.prodname_copilot_short %} responds to your request in the panel.
1. You can continue the conversation by asking a follow-up question. For example, you could type "tell me more" to get {% data variables.product.prodname_copilot_short %} to expand on its last comment.
## Other questions you can ask
There are many more things you can do with {% data variables.product.prodname_copilot_chat_dotcom %}. For example:
* Ask a general question about software development
* Ask exploratory questions about a repository
* Ask a question about a knowledge base
* Find out about the changes in a pull request
* Ask a question about a specific issue or commit
For more information, see "[AUTOTITLE](/copilot/github-copilot-chat/copilot-chat-in-github/using-github-copilot-chat-in-githubcom)."
## Next steps
* **Find out more about {% data variables.product.prodname_copilot_chat %}** - See "[AUTOTITLE](/copilot/github-copilot-chat/using-github-copilot-chat-in-your-ide){% ifversion fpt %}.{% endif %}"{% ifversion ghec %} and "[AUTOTITLE](/copilot/github-copilot-enterprise/copilot-chat-in-github/using-github-copilot-chat-in-githubcom)."{% endif %}
* **Get {% data variables.product.prodname_copilot_short %} code completion suggestions in an IDE** - See "[AUTOTITLE](/enterprise-cloud@latest/copilot/using-github-copilot/using-github-copilot-code-suggestions-in-your-editor)."
* **Learn how to write effective prompts** - See "[AUTOTITLE](/copilot/using-github-copilot/prompt-engineering-for-github-copilot)."
* **Use {% data variables.product.prodname_copilot_short %} on your mobile device** - See "[AUTOTITLE](/copilot/github-copilot-chat/copilot-chat-in-github-mobile/using-github-copilot-chat-in-github-mobile)."
* **Use {% data variables.product.prodname_copilot_short %} on the command line** - See "[AUTOTITLE](/copilot/github-copilot-in-the-cli/using-github-copilot-in-the-cli)."
{% endwebui %}
{% windowsterminal %}
{% 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 {% data variables.product.prodname_windows_terminal %}. 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
{% 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
After you've installed {% data variables.product.prodname_windows_terminal %} Canary, you can use {% data variables.product.prodname_copilot_short %} in [Terminal Chat](https://learn.microsoft.com/windows/terminal/terminal-chat) to ask command line-related questions.
1. Open **Settings** from the dropdown menu.
![Screenshot of the dropdown menu in the {% data variables.product.prodname_windows_terminal %} with the Settings item highlighted.](/assets/images/help/copilot/windows-terminal-dropdown.png)
1. Go to the **Terminal Chat (Experimental)** setting.
![Screenshot of the Settings menu in the {% data variables.product.prodname_windows_terminal %} with the Terminal Chat (Experimental) item highlighted.](/assets/images/help/copilot/windows-terminal-settings.png)
1. Under **Service Providers**, select **GitHub Copilot** and **Authenticate via GitHub** to sign in.
## Chat with {% data variables.product.prodname_copilot %}
> [!NOTE] {% data reusables.copilot.windows-terminal-access-denied %}
1. Open **Terminal Chat (Experimental)** in the dropdown menu.
1. In the Terminal Chat chat window, type `how do i list all markdown files in my directory` then press Enter.
{% data variables.product.prodname_copilot_short %}'s answer is displayed below your question.
1. Click on an answer to insert it to the command line.
## Next steps
{% data reusables.copilot.quickstart-nextsteps1 %}
{% data reusables.copilot.quickstart-nextsteps2 %}
{% endwindowsterminal %}
{% vscode %}
{% 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 {% data variables.product.prodname_vscode %}. 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
{% 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 %}
After you've installed the {% data variables.product.prodname_copilot %} extension, 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. Open the Chat view from the Activity Bar.
![Screenshot of the Chat icon in the {% data variables.product.prodname_vscode_shortname %} Activity Bar.](/assets/images/help/copilot/chat-button-vscode.png)
1. At the bottom of the chat view, in the chat input field, type: `explain this file`.
1. Press Enter.
{% data variables.product.prodname_copilot_short %} replies in the chat view.
1. In the editor, select one or more lines of code that are not commented.
1. In the chat input field, type: `add comments to these lines`.
1. If you like the comments that {% data variables.product.prodname_copilot_short %} suggests, hover over the suggested code in the chat view and click the "Insert at Cursor" icon to replace the selected lines with the suggested code.
![Screenshot of the "Insert at Cursor" icon in the chat view.](/assets/images/help/copilot/insert-at-cursor-vscode.png)
## Get your first code completion suggestion
The following example uses JavaScript, however other languages will work similarly. {% data reusables.copilot.supported-languages %}
1. Open {% data variables.product.prodname_vscode %}.
{% data reusables.copilot.create-js-file %}
{% data reusables.copilot.type-function-header %}
{% data variables.product.prodname_copilot %} will automatically suggest an entire function body in grayed text. The exact suggestion may vary.
1. {% data reusables.copilot.accept-suggestion %}
## Next steps
{% data reusables.copilot.quickstart-nextsteps1 %}
* **Use {% data variables.product.prodname_copilot_short %} like a pro** - Learn how to write effective prompts for {% data variables.product.prodname_copilot %}. For more information, see "[Best practices for using {% data variables.product.prodname_copilot %} in VS Code](https://code.visualstudio.com/docs/copilot/prompt-crafting)" in the {% data variables.product.prodname_vscode %} documentation.
{% data reusables.copilot.quickstart-nextsteps2 %}
{% endvscode %}
{% visualstudio %}
{% 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 {% data variables.product.prodname_vs %}. 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
{% 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 %}
After you've installed the {% data variables.product.prodname_copilot %} extension, 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. In the {% data variables.product.prodname_vs %} menu bar, click **View**, then click **{% data variables.product.prodname_copilot_chat %}**.
1. In the {% data variables.product.prodname_copilot_chat_short %} window, 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.product.prodname_copilot_chat_short %} window, type `explain this line` then press Enter.
## Get your first code completion suggestion
The following example uses JavaScript, however other languages will work similarly. {% data reusables.copilot.supported-languages %}
1. Open {% data variables.product.prodname_vs %}.
1. In {% data variables.product.prodname_vs %}, create a new JavaScript (_*.js_) file.
{% data reusables.copilot.type-function-header %}
{% data variables.product.prodname_copilot %} will automatically suggest an entire function body in grayed text. The exact suggestion may vary.
1. {% data reusables.copilot.accept-suggestion %}
## Next steps
{% data reusables.copilot.quickstart-nextsteps1 %}
* **Prompt like a pro** - Watch "[{% data variables.product.prodname_vs %} Prompt Engineering with {% data variables.product.prodname_copilot %}](https://www.youtube.com/watch?v=9hZsOeIINg8&list=PLReL099Y5nRckZDdcQ21UigO9pKa14yxC)" on YouTube.
{% data reusables.copilot.quickstart-nextsteps2 %}
{% endvisualstudio %}
{% jetbrains %}
{% 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 JetBrains IDEs. 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
{% 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 %}
* **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 %}
## 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. Open the {% data variables.product.prodname_copilot_chat_short %} window by clicking the **{% data variables.product.prodname_copilot_chat_short %}** icon at the right side of the JetBrains IDE window.
![Screenshot of the {% data variables.product.prodname_copilot_chat_short %} icon in the Activity Bar.](/assets/images/help/copilot/jetbrains-copilot-chat-icon.png)
1. In the {% data variables.product.prodname_copilot_chat_short %} window, 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.product.prodname_copilot_chat_short %} window, type `explain this line` then press Enter.
## Get your first code completion suggestion
The following example uses JavaScript, however other languages will work similarly. {% data reusables.copilot.supported-languages %}
1. In your JetBrains editor, create a new JavaScript (_*.js_) file.
{% data reusables.copilot.type-function-header %}
{% data variables.product.prodname_copilot %} will automatically suggest an entire function body in grayed text. The exact suggestion may vary.
1. {% data reusables.copilot.accept-suggestion %}
## Next steps
{% data reusables.copilot.quickstart-nextsteps1 %}
{% data reusables.copilot.quickstart-nextsteps2 %}
{% endjetbrains %}