Troubleshooting GitHub Copilot Keyboard Shortcuts in JetBrains IDEs
Jesse Houwing provides a practical guide to resolving keyboard shortcut and code completion conflicts when using GitHub Copilot in JetBrains IDEs. This article outlines the main issues developers face and step-by-step solutions based on Houwing’s workshop experiences.
Troubleshooting GitHub Copilot Keyboard Shortcuts in JetBrains IDEs
By Jesse Houwing
Over the past several months, I’ve delivered hundreds of GitHub Copilot workshops. These have ranged from brief two-hour introductions covering Copilot’s main features to full-day, interactive workshops. In my experience, most users can quickly get up and running—especially in Visual Studio Code, where installation is as simple as adding the plugin. In Visual Studio 2022, Copilot is installed by default. However, using Copilot in JetBrains IDEs (such as IntelliJ, Rider, PyCharm, WebStorm, and RubyMine) often introduces unique challenges.
Below I’ll outline the two main issues developers commonly face and practical ways to address them.
1. Keyboard Shortcut Conflicts in JetBrains IDEs
Many JetBrains IDE users have migrated from other development environments and often retain legacy keymaps. Rider, for instance, offers predefined keymaps such as:
- IntelliJ
- Emacs
- Resharper
- Sublime Text
- Visual Assist
- Visual Studio
- Visual Studio 2022
- Visual Studio Code
Copilot and other plugins must select shortcuts that aren’t conflicting with existing assignments. However, with so many layouts, key combinations are limited.
Identifying and Resolving Shortcut Conflicts
To check for conflicts:
- Open the Keymap settings in your IDE.
- Double-click the relevant command and select Add keyboard shortcut from the context menu.
- The dialog will indicate if your chosen shortcut is already in use.
For example, Copilot uses the default Alt + \
to show completions, but, as shown in the Visual Studio 2022 keymap, this is also assigned to three other commands:
To resolve this:
- Assign a free, unassigned key combination.
- Alternatively, remove the other assignments by clicking
OK
and choosingremove
for the conflicting actions.
While this requires a bit of setup, it allows you to harmonize your shortcuts across Visual Studio, VS Code, and JetBrains IDEs—ensuring smoother Copilot usage.
2. Conflict Between GitHub Copilot and JetBrains’ Bundled Line Completion
Note: This issue should be resolved in JetBrains Rider version 2024.3.6, which automatically manages the state of line completion if previously disabled:
Using the Tab
key to accept Copilot suggestions might fail if both GitHub Copilot and JetBrains’ Full Line Code Completion plugins are enabled. Work is ongoing to improve compatibility, but issues can still arise—especially when connecting to a remote IDE through SSH or GitHub Codespaces, which may lead to keyboard shortcuts not functioning as expected.
Troubleshooting Steps
- Ensure GitHub Copilot and Full Line Code Completion are installed and up to date both locally and remotely.
- If
Tab
completion still does not function as expected, disable the Full Line Code Completion plugin both locally and remotely.
Disabling “Full line completion” can resolve persistent conflicts with Copilot’s tab
completion functionality.
Conclusion
Getting Copilot to work smoothly within JetBrains IDEs may require manual conflict resolution—especially regarding keyboard shortcuts and interaction with JetBrains’ own code completion tools. With these troubleshooting steps, you can ensure Copilot works effectively alongside your preferred keymaps and plugins.
This post appeared first on “Jesse Houwing’s Blog”. Read the entire article here