Yes, you can create custom keyboard shortcuts in Visual Studio Code. 1. Open Keyboard Shortcuts via Ctrl K Ctrl S or the Command Palette. 2. Click the pencil icon or use "Add Keybinding" to edit keybindings.json. 3. Define the key, command, and optional when clause in JSON format. 4. Check for conflicts in the Conflicts column and resolve issues like OS or extension conflicts. 5. Use the Command Palette to find exact command names for binding.
Yes, you can create custom keyboard shortcuts in Visual Studio Code to speed up your workflow. It’s actually pretty straightforward once you know where to look and how to edit the right files.

How to Open Keyboard Shortcuts
The first step is to open the Keyboard Shortcuts editor. You can do this in a couple of ways:
- Press
Ctrl K
thenCtrl S
(orCmd K
thenCmd S
on Mac). - Or go to the Command Palette (
Ctrl Shift P
) and search for “Preferences: Open Keyboard Shortcuts”.
Once it's open, you’ll see a searchable list of all available commands and their current shortcuts.

Adding Your Own Custom Shortcut
To add a new shortcut or change an existing one, just click the pencil icon next to any command, or use the “Add Keybinding” button if you're editing the JSON file directly.
VS Code uses a JSON file (keybindings.json
) to store custom shortcuts. You can access this by clicking the "Open User Keybindings in JSON" icon in the top-right corner of the shortcut editor.

Here’s what a basic entry looks like:
{ "key": "ctrl alt t", "command": "workbench.action.terminal.toggleTerminal", "when": "editorTextFocus" }
-
key
: The key combination you want to use. -
command
: The action that will be triggered. -
when
(optional): A context condition, like when the editor has focus.
Make sure there are no syntax errors — commas and quotation marks need to be correct.
Common Issues and Tips
Sometimes a shortcut might not work as expected. Here are a few common reasons why:
- Conflict with OS-level shortcuts – For example, some Windows or macOS system shortcuts may override VS Code.
- Extensions using the same keys – If you’ve installed extensions, they might have their own keybindings.
-
Incorrect context (
when
clause) – Make sure the command runs only when appropriate.
A good troubleshooting tip is to check the “Conflicts” column in the Keyboard Shortcuts editor. If there's a conflict, it will show up there.
Also, remember:
- You can disable default shortcuts by setting
"key": ""
for a command. - Use
Ctrl Shift P
often to find commands quickly without needing to memorize all shortcuts.
Where to Find Commands to Bind
If you’re not sure which command to bind, try the Command Palette again. Just press Ctrl Shift P
, type out what you're trying to do (like “Toggle Terminal” or “Format Document”), and note the exact name of the command.
You can also refer to the official VS Code built-in keyboard shortcuts list for reference.
That's basically it. Once you get the hang of editing the JSON file and understanding how contexts work, creating custom shortcuts becomes second nature.
The above is the detailed content of How to create custom shortcuts in VS Code?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

There are three ways to change the default terminal in VSCode: setting through a graphical interface, editing settings.json file, and temporary switching. First, open the settings interface and search for "terminalintegratedshell" and select the terminal path of the corresponding system; secondly, advanced users can edit settings.json to add "terminal.integrated.shell.windows" or "terminal.integrated.shell.osx" fields and escape the path correctly; finally, you can enter "Terminal:SelectD through the command panel

When the "Timedoutwaitingforthedebuggertoattach" issue occurs, it is usually because the connection is not established correctly in the debugging process. 1. Check whether the launch.json configuration is correct, ensure that the request type is launch or attach and there is no spelling error; 2. Confirm whether the debugger is waiting for the debugger to connect, and add debugpy.wait_for_attach() and other mechanisms; 3. Check whether the port is occupied or firewall restricted, and replace the port or close the occupied process if necessary; 4. Confirm that the port mapping and access permissions are configured correctly in a remote or container environment; 5. Update VSCode, plug-in and debug library versions to solve potential

There are two ways to set environment variables for VSCode terminals on Linux: one is to use the terminal.integrated.env.linux configuration item to define variables that are only used by VSCode; the other is to modify the shell configuration file to take effect globally. 1. In VSCode, add variables such as "MY_VAR":"my_value" by setting the terminal.integrated.env.linux field. This method only affects the VSCode terminal; 2. Modify shell configuration files such as ~/.bashrc or ~/.zshrc and add exportMY

VSCode workspace is a .code-workspace file that saves project-specific configurations. 1. It supports multi-root directory, debug configuration, shortcut key settings and extension recommendations, and is suitable for managing different needs of multiple projects. 2. The main scenarios include multi-project collaboration, customized development environment and team sharing configuration. 3. The creation method is to save the configuration through the menu File>SaveWorkspaceAs.... 4. Notes include distinguishing between .code-workspace and .vscode/settings.json, using relative paths, and avoiding storing sensitive information.

To access the settings.json file of VSCode, you can directly open it through the command panel (Ctrl Shift P or Cmd Shift P). The default storage location of the file varies according to the operating system. Windows is in %APPDATA%\Code\User\settings.json, macOS is in $HOME/Library/ApplicationSupport/Code/User/settings.json, Linux is in $HOME/.config/Code/User/

To set debug environment variables in VSCode, you need to use the "environment" array configuration in the launch.json file. The specific steps are as follows: 1. Add "environment" array to the debugging configuration of launch.json, and define variables in key-value pairs, such as API_ENDPOINT and DEBUG_MODE; 2. You can load variables through .env files to improve management efficiency, and use envFile to specify file paths in launch.json; 3. If you need to overwrite the system or terminal variables, you can directly redefine them in launch.json; 4. Note that

ToimproveVSCodeperformanceonLinux,adjustinotifylimitsandconfigurefilewatcherexclusions.First,increasesystem-levelinotifylimitsbyeditingsysctl.confandaddingfs.inotify.max_user_watches=524288,fs.inotify.max_queued_events=65536,andfs.inotify.max_user_in

In VSCode, you can disable specific extensions by configuring .vscode/extensions.json and workspace settings. The specific steps are as follows: 1. Create or edit the .vscode/extensions.json file and add "ignoreRecommendations":true to ignore global recommendations; 2. Use the "recommendations" field in this file to specify only enabled extensions; 3. Open the workspace settings.json file and add configuration items such as "eslint.enable":false to disable support
