About GitHub Copilot and JetBrains IDEs
GitHub Copilot provides autocomplete-style suggestions from an AI pair programmer as you code. For more information, see "About GitHub Copilot".
If you use a JetBrains IDE, you can view and incorporate suggestions from GitHub Copilot directly within the editor. This guide demonstrates how to use GitHub Copilot within a JetBrains IDE for macOS, Windows, or Linux.
Prerequisites
-
To use GitHub Copilot you must have an active GitHub Copilot subscription. For more information, see "About billing for GitHub Copilot."
-
To use GitHub Copilot in JetBrains, you must have a compatible JetBrains IDE installed. GitHub Copilot is compatible with the following IDEs.
- IntelliJ IDEA (Ultimate, Community, Educational)
- Android Studio
- AppCode
- CLion
- Code With Me Guest
- DataGrip
- DataSpell
- GoLand
- JetBrains Client
- MPS
- PhpStorm
- PyCharm (Professional, Community, Educational)
- Rider
- RubyMine
- WebStorm
For more information, see the JetBrains IDEs tool finder.
Installing the GitHub Copilot extension in your JetBrains IDE
To use GitHub Copilot in a JetBrains IDE, you must install the GitHub Copilot extension. The following procedure will guide you through installation of the GitHub Copilot plugin in IntelliJ IDEA. Steps to install the plugin in another supported IDE may differ.
-
In your JetBrains IDE, under the File menu for Windows or under the name of your IDE for Mac (for example, PyCharm or IntelliJ), click Settings for Windows or Preferences for Mac.
-
In the left-side menu of the Settings/Preferences dialog box, click Plugins.
-
At the top of the Settings/Preferences dialog box, click Marketplace. In the search bar, search for GitHub Copilot, then click Install.
-
After GitHub Copilot is installed, click Restart IDE.
-
After your JetBrains IDE has restarted, click the Tools menu. Click GitHub Copilot, then click Login to GitHub.
-
In the "Sign in to GitHub" dialog box, to copy the device code and open the device activation window, click Copy and Open.
-
A device activation window will open in your browser. Paste the device code, then click Continue.
- To paste the code in Windows or Linux, press Ctrl+v.
- To paste the code in macOS, press command+v.
-
GitHub will request the necessary permissions for GitHub Copilot. To approve these permissions, click Authorize GitHub Copilot Plugin.
-
After the permissions have been approved, your JetBrains IDE will show a confirmation. To begin using GitHub Copilot, click OK.
Seeing your first suggestion
Note: If you have duplication detection enabled for GitHub Copilot, you may receive limited suggestions, or no suggestions, when using the code examples provided. As an alternative, you can start by typing your own code to see suggestions from GitHub Copilot. For more information on duplication detection, see "Enabling or disabling duplication detection."
GitHub Copilot provides suggestions for numerous languages and a wide variety of frameworks, but works especially well for Python, JavaScript, TypeScript, Ruby, Go, C# and C++. The following samples are in Java, but other languages will work similarly.
-
In your JetBrains IDE, create a new Java (*.java) file.
-
In the Java file, create a class by typing
class Test
. GitHub Copilot will automatically suggest a class body in grayed text, as shown below. The exact suggestion may vary. -
To accept the suggestion, press Tab.
-
To prompt GitHub Copilot to suggest a function body, type the following line below the bracket of the
main
function. The exact suggestion may vary.Java int calculateDaysBetweenDates(
-
To accept the suggestion, press Tab.
GitHub Copilot will attempt to match the context and style of your code. You can always edit the suggested code.
Seeing alternative suggestions
For any given input, GitHub Copilot may offer multiple suggestions. You can select which suggestion to use, or reject all suggestions.
-
In your JetBrains IDE, create a new Java (*.java) file.
-
To prompt GitHub Copilot to show you a suggestion, type the following line in the Java file.
Java int calculateDaysBetweenDates(
-
Optionally, you can see alternative suggestions, if any are available.
OS See next suggestion See previous suggestion macOS Option+] Option+[ Windows Alt+] Alt+[ Linux Alt+] Alt+[ -
To accept a suggestion, press Tab. To reject all suggestions, press Esc.
Seeing multiple suggestions in a new tab
You may not want any of the initial suggestions GitHub Copilot offers. You can use a keyboard shortcut to prompt GitHub Copilot to show you multiple suggestions in a new tab.
- In your JetBrains IDE, create a new Java (*.java) file.
- To prompt GitHub Copilot to show you a suggestion, type the following line in the Java file.
Java int calculateDaysBetweenDates(
- Open a new tab with multiple additional suggestions.
- On macOS, press Command+Shift+A, then click Open GitHub Copilot, or press Command+Shift+\ to open the new tab immediately.
- On Windows or Linux, press Ctrl+Enter, then click Open GitHub Copilot.
- To accept a suggestion, above the suggestion, click Accept Solution. To reject all suggestions, close the tab.
Generating code suggestions from comments
You can describe something you want to do using natural language within a comment, and GitHub Copilot will suggest the code to accomplish your goal.
- In your JetBrains IDE, create a new Java (*.java) file.
- To prompt GitHub Copilot to suggest an implementation of a function in the Java file, type the following lines.
Java // find all images without alternate text // and give them a red border void process () {
Enabling and disabling GitHub Copilot
You can enable or disable GitHub Copilot for all languages, or for individual languages. The GitHub Copilot status icon in the bottom panel of your JetBrains IDE window indicates whether GitHub Copilot is enabled or disabled. When enabled, the icon is highlighted. When disabled, the icon is grayed out.
-
To enable or disable GitHub Copilot, click the status icon in the bottom panel of the JetBrains window.
-
If you are disabling GitHub Copilot, you will be asked whether you want to disable it globally, or for the language of the file you are currently editing.
- To disable suggestions from GitHub Copilot globally, click Disable Completions.
- To disable suggestions from GitHub Copilot for the specified language, click Disable Completions for LANGUAGE.