---
title: Quickstart for GitHub Copilot
intro: 'Quickly learn how to use {% data variables.product.prodname_copilot %}.'
allowTitleToDifferFromFilename: true
versions:
feature: copilot
redirect_from:
- /copilot/getting-started-with-github-copilot
- /github/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-visual-studio-code
- /github/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-a-jetbrains-ide
- /github/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-neovim
- /github/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-visual-studio
- /copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-visual-studio-code
- /copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-a-jetbrains-ide
- /copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-neovim
- /copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-visual-studio
- /copilot/using-github-copilot/getting-started-with-github-copilot
- /copilot/quickstart
shortTitle: Quickstart
contentType: get-started
category:
- Configure 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).
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 %}
{% endif %}
{% ifversion ghec %}
## Prerequisite
To use {% data variables.product.prodname_copilot_short %} on the {% data variables.product.github %} website, you must have an active {% data variables.product.prodname_copilot_short %} plan. {% 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" aria-label="copilot" %}) at the top right of the file view.

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.copilot.copilot_chat_dotcom %}. For example:
* Ask a general question about software development
* Ask exploratory questions about a repository
* 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.copilot.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 %} inline 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
* **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 %}
* **{% 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.

1. Go to the **Terminal Chat (Experimental)** setting.

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
* **{% 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 %}
{% data reusables.copilot.vscode-prerequisites %}
## Chat with {% data variables.product.prodname_copilot %}
After you've installed the {% data variables.product.prodname_copilot %} Chat extension, you can ask {% data variables.product.prodname_copilot_short %} coding-related questions.
> [!NOTE] {% data reusables.copilot.chat-access-denied %}
1. Create a new folder for your project and open it in VS Code.
1. Open the Chat view by pressing Control+Command+i (Mac) / Ctrl+Alt+i (Windows/Linux) or by selecting the chat icon in the VS Code title bar.
1. At the bottom of the chat view, in the chat input field, type: `Create a complete task manager web application with the ability to add, delete, and mark tasks as completed. Include modern CSS styling and make it responsive. Use semantic HTML and ensure it's accessible. Separate markup, styles, and scripts into their own files.`
1. Press Enter. Watch as the agent generates the necessary files and code to implement your request. You should see it update the `index.html` file, create a `styles.css` file for styling, and a `script.js` file for functionality.
1. Review the generated files and select Keep to accept all the changes.
## Get your first inline 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 {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/prompt-crafting) in the {% data variables.product.prodname_vscode %} documentation.
* **Get familiar with {% data variables.copilot.next_edit_suggestions %}** - See [Navigating and accepting {% data variables.copilot.next_edit_suggestions %}](/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions#navigating-and-accepting-next-edit-suggestions-1).
{% 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
* **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 %}
{% 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.copilot.copilot_chat %}**.
1. In the {% data variables.copilot.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.copilot.copilot_chat_short %} window, type `explain this line` then press Enter.
## Get your first inline 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
* **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 %}
## 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.copilot.copilot_chat_short %} window by clicking the **{% data variables.copilot.copilot_chat_short %}** icon at the right side of the JetBrains IDE window.

1. In the {% data variables.copilot.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.copilot.copilot_chat_short %} window, type `explain this line` then press Enter.
## Get your first inline 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 %}
{% 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.

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 inline 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 %}
* **Get familiar with {% data variables.copilot.next_edit_suggestions %}** - See [Navigating and accepting {% data variables.copilot.next_edit_suggestions %}](/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions?tool=xcode#navigating-and-accepting-next-edit-suggestions-2).
{% data reusables.copilot.quickstart-nextsteps2 %}
{% endxcode %}
{% eclipse %}
{% 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 Eclipse. 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 Eclipse, 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=eclipse).
* **Sign in to {% data variables.product.company_short %} in Eclipse**. 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. In the menu bar of Eclipse, click **{% data variables.product.prodname_copilot_short %}**, then click **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %} Open Chat**.
1. In the {% data variables.copilot.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.copilot.copilot_chat_short %} window, type `explain this line` then press Enter.
## Get your first inline suggestion
The following example uses Java, however other languages will work similarly.
1. Create a new Java class called `CalculateDaysBetween`.
1. Within the class add the following comment:
```java copy
// Take 2 dates and return the number of days between them
```
{% data variables.product.prodname_copilot %} adds a suggestion of code to use for this class. Suggestions are displayed in grayed text.
1. {% data reusables.copilot.accept-suggestion %}
## Next steps
{% data reusables.copilot.quickstart-nextsteps1 %}
* **Get familiar with {% data variables.copilot.next_edit_suggestions %}** - See [Navigating and accepting {% data variables.copilot.next_edit_suggestions %}](/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions?tool=eclipse#navigating-and-accepting-next-edit-suggestions-3).
{% data reusables.copilot.quickstart-nextsteps2 %}
{% endeclipse %}