Visual Studio Code 的键绑定
Visual Studio Code 允许你直接从键盘执行大多数任务。本页列出了默认绑定(键盘快捷键),并介绍了如何更新它们。
注意:如果您在 Mac 上访问此页面,您将看到 Mac 的按键绑定。如果您使用 Windows 或 Linux 访问,您将看到该平台的密钥。如果您需要其他平台的密钥绑定,请将鼠标悬停在您感兴趣的密钥上。
VS Code 通过键盘快捷键编辑器提供丰富的键盘快捷键编辑体验。编辑器列出了所有带键绑定和不带键绑定的可用命令,并允许您使用可用操作更改/删除/重置其键绑定。您可以使用搜索框查找命令或键绑定。您可以通过转到“文件”>“首选项”>“键盘快捷键”下的菜单或使用“首选项:打开键盘快捷键”命令 (Ctrl+K Ctrl+S) 来打开此编辑器。
最重要的是,您可以根据键盘布局查看按键绑定。例如,当布局更改为德语时,美式键盘布局中的键绑定 Cmd+\ 将显示为 Ctrl+Shift+Alt+Cmd+7。输入键绑定的对话框将根据您的键盘布局分配正确和所需的键绑定。
若要执行更高级的键盘快捷键自定义,请阅读高级自定义。
您可以快速自定义用户界面操作的键绑定。右键单击工作台中的任何操作项,然后选择“自定义键绑定”。如果操作包含子句,则会自动包含该子句,从而更轻松地按照需要的方式设置键绑定。when
## 键盘映射扩展
键盘快捷键对于工作效率至关重要,改变键盘使用习惯可能很困难。为了帮助解决这个问题,文件>首选项>从…迁移键盘快捷键 显示常用键盘映射扩展列表。这些扩展修改 VS Code 快捷方式以匹配其他编辑器的快捷方式,因此无需学习新的键盘快捷方式。Marketplace 中还有一个 Keymaps 扩展类别。
Vim的6.6米vscodevim的Sublime Text 键盘映射和设置导入器2.2米ms-vscodeAtom 键盘映射1.1米ms-vscode括号键盘映射180,5 千米ms-vscode
提示:点击上面的扩展模块,阅读说明和评论,以确定哪个扩展程序最适合你。在 Marketplace 中查看更多信息。
我们还有这些键盘快捷键的可打印版本。帮助 > 键盘快捷键参考 显示适合打印的精简 PDF 版本,作为简单的参考。
以下是三个特定于平台的版本(美式英语键盘)的链接:
如果安装了多个扩展,或者自定义了键盘快捷键,则有时可能会出现键绑定冲突,即同一键盘快捷键映射到多个命令。这可能会导致混淆行为,尤其是在编辑器中移动时,不同的键绑定会进入和超出范围。
“键盘快捷键”编辑器具有上下文菜单命令“显示相同的键绑定”,该命令将根据键盘快捷键筛选键绑定以显示冲突。
选择一个具有您认为重载的键绑定的命令,您可以查看是否定义了多个命令、键绑定的来源以及它们何时处于活动状态。
要解决键绑定问题,可以执行命令 Developer: Toggle Keyboard Shortcuts Troubleshooting。这将激活调度的键盘快捷键的日志记录,并将打开一个包含相应日志文件的输出面板。
然后,您可以按所需的键绑定,并检查 VS Code 检测到的键盘快捷键以及调用的命令。
例如,在 macOS 上按下代码编辑器时,日志记录输出为:cmd+/
plain
[KeybindingService]: / Received keydown event - modifiers: [meta], code: MetaLeft, keyCode: 91, key: Meta
[KeybindingService]: | Converted keydown event - modifiers: [meta], code: MetaLeft, keyCode: 57 ('Meta')
[KeybindingService]: \ Keyboard event cannot be dispatched.
[KeybindingService]: / Received keydown event - modifiers: [meta], code: Slash, keyCode: 191, key: /
[KeybindingService]: | Converted keydown event - modifiers: [meta], code: Slash, keyCode: 85 ('/')
[KeybindingService]: | Resolving meta+[Slash]
[KeybindingService]: \ From 2 keybinding entries, matched editor.action.commentLine, when: editorTextFocus && !editorReadonly, source: built-in.
第一个 keydown 事件是针对键 () 的,无法调度。第二个 keydown 事件针对 key (),并作为 .映射了两个键绑定条目,匹配的键绑定条目是命令,该命令具有条件,并且是内置键绑定条目。MetaLeft``cmd``Slash``/``meta+[Slash]``meta+[Slash]``editor.action.commentLine``when``editorTextFocus && !editorReadonly
## 查看修改后的键绑定
可以使用“更多操作 (…)”菜单中的“显示用户键绑定”命令,在“键盘快捷键”编辑器中查看 VS Code 中任何用户修改的键盘快捷键。这会将过滤器应用于键盘快捷键编辑器(源为“用户”)。@source:user
## 高级定制
VS Code 中的所有键盘快捷键都可以通过该文件进行自定义,您可以在其中覆盖默认键盘快捷键。keybindings.json
要打开文件,请执行以下操作:keybindings.json
+ 打开“键盘快捷方式”编辑器,然后选择编辑器标题栏右侧的“打开键盘快捷方式 (JSON)”按钮。
在命令面板 (Ctrl+Shift+P) 中。
每个规则由以下部分组成:
- 描述按下键的 a。
key
- a 包含要执行的命令的标识符。
command
- 包含布尔表达式的可选子句,将根据当前上下文进行计算。
when
和弦(两个单独的按键动作)是通过用空格分隔两个按键来描述的。例如,Ctrl+K Ctrl+C。
按下某个键时:
- 规则从下到上进行评估。
- 接受与 和 匹配的第一条规则。
key``when
- 不再处理任何规则。
- 如果找到规则并具有集合,则执行 。
command``command
附加规则在运行时追加到默认规则的底部,从而允许它们覆盖默认规则。该文件由 VS Code 监视,因此在 VS Code 运行时对其进行编辑将在运行时更新规则。keybindings.json``keybindings.json
键盘快捷键调度是通过分析以 JSON 表示的规则列表来完成的。以下是一些示例:
// Keybindings that are active when the focus is in the editor
{ "key": "home", "command": "cursorHome", "when": "editorTextFocus" },
{ "key": "shift+home", "command": "cursorHomeSelect", "when": "editorTextFocus" },
// Keybindings that are complementary
{ "key": "f5", "command": "workbench.action.debug.continue", "when": "inDebugMode" },
{ "key": "f5", "command": "workbench.action.debug.start", "when": "!inDebugMode" },
// Global keybindings
{ "key": "ctrl+f", "command": "actions.find" },
{ "key": "alt+left", "command": "workbench.action.navigateBack" },
{ "key": "alt+right", "command": "workbench.action.navigateForward" },
// Global keybindings using chords (two separate keypress actions)
{ "key": "ctrl+k enter", "command": "workbench.action.keepEditor" },
{ "key": "ctrl+k ctrl+w", "command": "workbench.action.closeAllEditors" },
由修饰符和密钥本身组成。key
接受以下修饰符:
平台 |
修饰 符 |
macOS 操作系统 |
Ctrl+、Shift+、Alt+、Cmd+ |
窗户 |
Ctrl+、Shift+、Alt+、Win+ 组合组合键 |
Linux操作系统 |
Ctrl+、Shift+、Alt+、Meta+ 组合组合键 |
接受以下密钥:
- F1-F19,A-Z,0-9
- `, -, =, [, ], \, ;, ‘, ,, .,/
- 左、上、右、下、上、下、
- Tab、Enter、Escape、Space、Backspace、Delete
- pausebreak、capslock、insert
- numpad0-numpad9、numpad_multiply、numpad_add、numpad_separator
- numpad_subtract、numpad_decimal、numpad_divide
您可以调用带有参数的命令。如果您经常对特定文件或文件夹执行相同的操作,这将非常有用。您可以添加自定义键盘快捷键来执行所需的操作。
下面是一个示例,覆盖 Enter 键以打印一些文本:
{
"key": "enter",
"command": "type",
"args": { "text": "Hello World" },
"when": "editorTextFocus"
}
type 命令将接收作为其第一个参数,并将“Hello World”添加到文件中,而不是生成默认命令。{"text": "Hello World"}
有关采用参数的命令的详细信息,请参阅内置命令。
可以使用命令 创建按顺序运行其他几个命令的键绑定。runCommands
1. 运行几个不带参数的命令:向下复制当前行,将当前行标记为注释,将光标移动到复制的行
{
"key": "ctrl+alt+c",
"command": "runCommands",
"args": {
"commands": [
"editor.action.copyLinesDownAction",
"cursorUp",
"editor.action.addCommentLine",
"cursorDown"
]
}
},
- 也可以将参数传递给命令:创建一个新的无标题 TypeScript 文件并插入自定义代码段
{
"key": "ctrl+n",
"command": "runCommands",
"args": {
"commands": [
{
"command": "workbench.action.files.newUntitledFile",
"args": {
"languageId": "typescript"
}
},
{
"command": "editor.action.insertSnippet",
"args": {
"langId": "typescript",
"snippet": "class ${1:ClassName} {\n\tconstructor() {\n\t\t$0\n\t}\n}"
}
}
]
}
},
请注意,运行的命令接收 作为第一个参数的值。因此,在上面的示例中,receive 作为其第一个也是唯一的参数。runCommands``"args"``workbench.action.files.newUntitledFile``{"languageId": "typescript" }
要传递多个参数,需要将 AS AS 数组:"args"
plain
{
"key": "ctrl+shift+e",
"command": "runCommands",
"args": {
"commands": [
{
// command invoked with 2 arguments: vscode.executeCommand("myCommand", "arg1", "arg2")
"command": "myCommand",
"args": ["arg1", "arg2"]
}
]
}
}
要将数组作为第一个参数传递,需要将数组包装在另一个数组中:。"args": [ [1, 2, 3] ]
## 删除特定的密钥绑定规则
您可以编写一个键绑定规则,该规则以删除特定的默认键绑定为目标。使用 ,始终可以重新定义 VS Code 的所有键绑定,但可能很难进行小的调整,尤其是在重载键(如 Tab 或 Escape)周围。要删除特定的密钥绑定,请将 添加到 和 规则将是删除规则。keybindings.json``-``command
下面是一个示例:
// In Default Keyboard Shortcuts
...
{ "key": "tab", "command": "tab", "when": ... },
{ "key": "tab", "command": "jumpToNextSnippetPlaceholder", "when": ... },
{ "key": "tab", "command": "acceptSelectedSuggestion", "when": ... },
...
// To remove the second rule, for example, add in keybindings.json:
{ "key": "tab", "command": "-jumpToNextSnippetPlaceholder" }
要使用空操作覆盖特定的键绑定规则,可以指定空命令:
// To override and disable any `tab` keybinding, for example, add in keybindings.json:
{ "key": "tab", "command": "" }
注意:本节仅涉及键绑定,与在编辑器中键入无关。
上面的键是虚拟键的字符串表示形式,在按下它们时不一定与生成的字符相关。更准确地说:
- 参考:虚拟密钥代码 (Windows)
- 选项卡
VK_TAB
(0x09
) - ;为
VK_OEM_1
(0xBA
) - =为
VK_OEM_PLUS
(0xBB
) - ,用于
VK_OEM_COMMA
(0xBC
) - -为
VK_OEM_MINUS
(0xBD
) - 。为
VK_OEM_PERIOD
(0xBE
) - /为
VK_OEM_2
(0xBF
) <font style="color:rgb(51, 51, 51);">为</font>
VK_OEM_3<font style="color:rgb(51, 51, 51);"> </font><font style="color:rgb(51, 51, 51);">(</font>
0xC0`)- [为
VK_OEM_4
(0xDB
) - \为
VK_OEM_5
(0xDC
) - ]为
VK_OEM_6
(0xDD
) - ‘为
VK_OEM_7
(0xDE
) - 等。
不同的键盘布局通常会重新定位上述虚拟键或更改按下时产生的字符。使用与标准 US 不同的键盘布局时,Visual Studio Code 将执行以下操作:
所有键绑定都使用当前系统的键盘布局在 UI 中呈现。例如,当使用法语(法国)键盘布局现在呈现为 Ctrl+ 时:Split Editor
编辑时,VS Code 会突出显示误导性的键绑定,这些键绑定在文件中表示,其中的字符在标准美式键盘布局下生成,但需要在当前系统的键盘布局下按具有不同标签的键。例如,下面是使用法语(法国)键盘布局时默认键盘快捷键规则的外观:keybindings.json
还有一个小部件,可以帮助在编辑时输入键绑定规则。若要启动“定义键绑定”小组件,请按 Ctrl+K Ctrl+K。该小组件侦听按键,并在文本框及其下方呈现序列化的 JSON 表示形式,即 VS Code 在当前键盘布局下检测到的键。键入所需的组合键后,您可以按 Enter 键,然后插入一个规则片段。keybindings.json
*注意:在 Linux 上,Visual Studio Code 会在启动时检测当前键盘布局,然后缓存此信息。为了获得良好的体验,建议在更改键盘布局时重启 VS Code。
使用扫描代码,可以定义不会随着键盘布局的更改而改变的键绑定。例如:
{ "key": "cmd+[Slash]", "command": "editor.action.commentLine", "when": "editorTextFocus" }
接受的扫描代码:
- [F1]-[F19]、[KeyA]-[KeyZ]、[数字0]-[数字9]
- [反引号]、[减号]、[等号]、[括号左]、[括号右]、[反斜杠]、[分号]、[引号]、[逗号]、[句点]、[斜杠]
- [向左箭头]、[向上箭头]、[向右箭头]、[向下箭头]、[向上页]、[向下页]、[结束]、[主页]
- [Tab]、[Enter]、[Escape]、[Space]、[Backspace]、[Delete]
- [暂停]、[大写锁定]、[插入]
- [Numpad0]-[Numpad9]、[NumpadMultiply]、[NumpadAdd]、[NumpadComma]
- [NumpadSubtract]、[NumpadDecimal]、[NumpadDivide]
VS Code 使你能够通过可选子句对何时启用键绑定进行精细控制。如果密钥绑定没有子句,则密钥绑定始终全局可用。子句的计算结果为 Boolean true 或 false,用于启用键绑定。when``when``when
VS Code 根据 VS Code UI 中可见和活动的元素设置各种上下文键和特定值。例如,内置的“开始调试”命令具有键盘快捷键 F5,仅当有适当的调试器可用(上下文为 true)且编辑器未处于调试模式(上下文为 false)时,才会启用该快捷键:debuggersAvailable``inDebugMode
您还可以直接在默认键绑定 JSON 中查看键绑定的 when 子句(首选项:打开默认键盘快捷键 (JSON)):
{ "key": "f5", "command": "workbench.action.debug.start",
"when": "debuggersAvailable && !inDebugMode" },
对于 when 子句条件表达式,以下条件运算符对于键绑定很有用:
算子 |
象征 |
例 |
平等 |
== |
"editorLangId == typescript" |
不等式 |
!= |
"resourceExtname != .js" |
或 |
` |
|
` |
"isLinux ` |
|
<br/> isWindows”` |
和 |
&& |
"textInputFocus && !editorReadonly" |
比赛 |
=~ |
`”resourceScheme =~ /^untitled$ |
^file$/“` |
您可以在 when 子句上下文参考中找到 when 子句条件运算符的完整列表。
您可以在 when 子句上下文参考中找到一些可用的子句上下文。when
该列表并不详尽,您可以通过在键盘快捷键编辑器中搜索和筛选(首选项:打开键盘快捷键)或查看默认键绑定 JSON 文件(首选项:打开默认键盘快捷键 (JSON))来查找其他子句上下文。when
## 用于重构的自定义键绑定
该命令允许您为特定重构(代码操作)配置键绑定。例如,下面的键绑定触发 Extract 函数重构代码操作:editor.action.codeAction
plain
{
"key": "ctrl+shift+r ctrl+e",
"command": "editor.action.codeAction",
"args": {
"kind": "refactor.extract.function"
}
}
重构主题对此进行了深入介绍,您可以在其中了解不同类型的代码操作,以及如何在多次可能的重构中确定它们的优先级。
可以使用“更多操作 (…)”菜单中的“显示默认键绑定”命令,在“键盘快捷键”编辑器中查看 VS Code 中的所有默认键盘快捷键。这会将筛选器应用于键盘快捷键编辑器(源为“默认”)。@source:default
您可以使用命令“首选项:打开默认键盘快捷键 (JSON)”以 JSON 文件的形式查看默认键盘快捷键。
注意:以下键采用标准美式键盘布局呈现。如果您使用不同的键盘布局,请阅读以下内容。可以在 VS Code 的命令面板(“视图”->命令面板)或“键盘快捷键”编辑器(“文件”>首选项“>”键盘快捷键“)中查看当前活动的键盘快捷键。
下面包含的某些命令没有默认键盘快捷键,因此显示为未分配,但您可以分配自己的键绑定。
命令 |
钥匙 |
命令 ID |
剪切线(空选内容) |
Ctrl+X 组合键 |
editor.action.clipboardCutAction |
复制行(空选内容) |
Ctrl+C 组合键 |
editor.action.clipboardCopyAction |
糊 |
Ctrl+V 组合键 |
editor.action.clipboardPasteAction |
删除行 |
Ctrl+Shift+K 组合键 |
editor.action.deleteLines |
在下面插入一行 |
Ctrl+Enter 键 |
editor.action.insertLineAfter |
在上面插入一行 |
Ctrl+Shift+Enter 组合键 |
editor.action.insertLineBefore |
下移行 |
Alt+向下 |
editor.action.moveLinesDownAction |
移动阵容 |
Alt+向上 |
editor.action.moveLinesUpAction |
向下复制行 |
Shift+Alt+向下 |
editor.action.copyLinesDownAction |
复制阵容 |
Shift+Alt+向上 |
editor.action.copyLinesUpAction |
撤消 |
Ctrl+Z 组合键 |
undo |
重做 |
Ctrl+Y 组合键 |
redo |
将所选内容添加到下一个查找匹配项 |
Ctrl+D 组合键 |
editor.action.addSelectionToNextFindMatch |
将上一个选择移动到下一个查找匹配项 |
Ctrl+K Ctrl+D |
editor.action.moveSelectionToNextFindMatch |
撤消上一个光标操作 |
Ctrl+U 组合键 |
cursorUndo |
在所选每行的末尾插入光标 |
Shift+Alt+I |
editor.action.insertCursorAtEndOfEachLineSelected |
选择当前选择的所有匹配项 |
Ctrl+Shift+L 组合键 |
editor.action.selectHighlights |
选择当前单词的所有匹配项 |
Ctrl+F2 组合键 |
editor.action.changeAll |
选择当前线路 |
Ctrl+L 组合键 |
expandLineSelection |
在下面插入光标 |
Ctrl+Alt+向下 |
editor.action.insertCursorBelow |
在上方插入光标 |
Ctrl+Alt+向上 |
editor.action.insertCursorAbove |
跳转到匹配的括号 |
Ctrl+Shift+\ 组合键 |
editor.action.jumpToBracket |
缩进线 |
Ctrl+] 组合键 |
editor.action.indentLines |
缩进线 |
Ctrl+[ |
editor.action.outdentLines |
转到行首 |
家 |
cursorHome |
转到行尾 |
结束 |
cursorEnd |
转到文件末尾 |
Ctrl+结束 |
cursorBottom |
转到文件开头 |
Ctrl+主页 |
cursorTop |
向下滚动行 |
Ctrl+向下 |
scrollLineDown |
向上滚动 |
Ctrl+向上 |
scrollLineUp |
向下滚动页面 |
Alt+PageDown 键 |
scrollPageDown |
向上滚动页面 |
Alt+PageUp |
scrollPageUp |
折叠(折叠)区域 |
Ctrl+Shift+[ |
editor.fold |
展开(展开)区域 |
Ctrl+Shift+] |
editor.unfold |
切换折叠区域 |
Ctrl+K Ctrl+L |
editor.toggleFold |
折叠(折叠)所有子区域 |
Ctrl+K Ctrl+[ |
editor.foldRecursively |
展开(展开)所有子区域 |
Ctrl+K Ctrl+] |
editor.unfoldRecursively |
折叠(折叠)所有区域 |
Ctrl+K Ctrl+0 |
editor.foldAll |
展开(展开)所有区域 |
Ctrl+K Ctrl+J |
editor.unfoldAll |
添加行注释 |
Ctrl+K Ctrl+C |
editor.action.addCommentLine |
删除行注释 |
Ctrl+K Ctrl+U |
editor.action.removeCommentLine |
切换行注释 |
Ctrl+/ 组合键 |
editor.action.commentLine |
切换块注释 |
Shift+Alt+A |
editor.action.blockComment |
找到 |
Ctrl+F 组合键 |
actions.find |
取代 |
Ctrl+H 组合键 |
editor.action.startFindReplaceAction |
查找下一个 |
进入 |
editor.action.nextMatchFindAction |
查找上一页 |
Shift+Enter 键 |
editor.action.previousMatchFindAction |
选择“查找匹配项”的所有匹配项 |
Alt+Enter 键 |
editor.action.selectAllMatches |
切换区分大小写的查找 |
Alt+C |
toggleFindCaseSensitive |
切换查找正则表达式 |
Alt+R |
toggleFindRegex |
切换查找整个单词 |
Alt+W |
toggleFindWholeWord |
切换使用Tab键设置焦点 |
Ctrl+M 组合键 |
editor.action.toggleTabFocusMode |
切换渲染空白 |
未分配 |
toggleRenderWhitespace |
切换自动换行 |
Alt+Z |
editor.action.toggleWordWrap |
命令 |
钥匙 |
命令 ID |
触发建议 |
Ctrl+空格键 |
editor.action.triggerSuggest |
触发参数提示 |
Ctrl+Shift+空格键 |
editor.action.triggerParameterHints |
格式化文档 |
Shift+Alt+F |
editor.action.formatDocument |
格式选择 |
Ctrl+K Ctrl+F |
editor.action.formatSelection |
转到定义 |
F12型 |
editor.action.revealDefinition |
显示悬停 |
Ctrl+K Ctrl+I |
editor.action.showHover |
速览定义 |
Alt+F12 |
editor.action.peekDefinition |
将定义打开到一边 |
Ctrl+K F12 |
editor.action.revealDefinitionAside |
快速修复 |
Ctrl+。 |
editor.action.quickFix |
转到参考资料 |
Shift+F12 键 |
editor.action.goToReferences |
重命名符号 |
F2 键 |
editor.action.rename |
替换为下一个值 |
Ctrl+Shift+。 |
editor.action.inPlaceReplace.down |
替换为上一个值 |
Ctrl+Shift+, |
editor.action.inPlaceReplace.up |
展开 AST 选择 |
Shift+Alt+右键 |
editor.action.smartSelect.expand |
缩小 AST 选择 |
Shift+Alt+左 |
editor.action.smartSelect.shrink |
修剪尾随空格 |
Ctrl+K Ctrl+X |
editor.action.trimTrailingWhitespace |
更改语言模式 |
Ctrl+K M |
workbench.action.editor.changeLanguageMode |
命令 |
钥匙 |
命令 ID |
显示所有符号 |
Ctrl+T 组合键 |
workbench.action.showAllSymbols |
转到线路… |
Ctrl+G 组合键 |
workbench.action.gotoLine |
转到文件…,快速打开 |
Ctrl+P 组合键 |
workbench.action.quickOpen |
转到符号… |
Ctrl+Shift+O 组合键 |
workbench.action.gotoSymbol |
显示问题 |
Ctrl+Shift+M 组合键 |
workbench.actions.view.problems |
转到下一个错误或警告 |
F8 键 |
editor.action.marker.nextInFiles |
转到上一个错误或警告 |
Shift+F8 键 |
editor.action.marker.prevInFiles |
显示所有命令 |
Ctrl+Shift+P 或 F1 |
workbench.action.showCommands |
导航编辑器组历史记录 |
Ctrl+Tab 组合键 |
workbench.action.quickOpenPreviousRecentlyUsedEditorInGroup |
回去 |
Alt+左 |
workbench.action.navigateBack |
返回快速输入 |
Alt+左 |
workbench.action.quickInputBack |
勇往直前 |
Alt+右 |
workbench.action.navigateForward |
焦点面包屑 |
Ctrl+Shift+; |
breadcrumbs.focus |
聚焦和选择痕迹导航 |
Ctrl+Shift+。 |
breadcrumbs.focusAndSelect |
命令 |
钥匙 |
命令 ID |
新窗口 |
Ctrl+Shift+N 组合键 |
workbench.action.newWindow |
关闭窗口 |
Alt+F4 |
workbench.action.closeWindow |
关闭编辑器 |
Ctrl+F4 组合键 |
workbench.action.closeActiveEditor |
关闭文件夹 |
Ctrl+K F |
workbench.action.closeFolder |
编辑器组之间的循环 |
未分配 |
workbench.action.navigateEditorGroups |
拆分编辑器 |
Ctrl+\ 组合键 |
workbench.action.splitEditor |
聚焦于第一编辑组 |
Ctrl+1 组合键 |
workbench.action.focusFirstEditorGroup |
聚焦到第二编辑组 |
Ctrl+2 组合键 |
workbench.action.focusSecondEditorGroup |
聚焦到第三编辑组 |
Ctrl+3 组合键 |
workbench.action.focusThirdEditorGroup |
将焦点聚焦到左侧的编辑器组 |
未分配 |
workbench.action.focusPreviousGroup |
将焦点聚焦到右侧的编辑器组 |
未分配 |
workbench.action.focusNextGroup |
向左移动编辑器 |
Ctrl+Shift+PageUp 组合键 |
workbench.action.moveEditorLeftInGroup |
向右移动编辑器 |
Ctrl+Shift+PageDown 组合键 |
workbench.action.moveEditorRightInGroup |
向左移动活动编辑器组 |
Ctrl+K 左 |
workbench.action.moveActiveEditorGroupLeft |
向右移动活动编辑器组 |
Ctrl+K 右 |
workbench.action.moveActiveEditorGroupRight |
将编辑器移至“下一个”组 |
Ctrl+Alt+右 |
workbench.action.moveEditorToNextGroup |
将编辑器移动到上一个组 |
Ctrl+Alt+左 |
workbench.action.moveEditorToPreviousGroup |
命令 |
钥匙 |
命令 ID |
新建文件 |
Ctrl+N 组合键 |
workbench.action.files.newUntitledFile |
打开文件… |
Ctrl+O 组合键 |
workbench.action.files.openFile |
救 |
Ctrl+S 组合键 |
workbench.action.files.save |
保存全部 |
Ctrl+K S |
saveAll |
另存为… |
Ctrl+Shift+S 组合键 |
workbench.action.files.saveAs |
关闭 |
Ctrl+F4 组合键 |
workbench.action.closeActiveEditor |
关闭其他 |
未分配 |
workbench.action.closeOtherEditors |
关闭组 |
Ctrl+K W |
workbench.action.closeEditorsInGroup |
关闭其他组 |
未分配 |
workbench.action.closeEditorsInOtherGroups |
向左关闭组 |
未分配 |
workbench.action.closeEditorsToTheLeft |
关闭右侧的组 |
未分配 |
workbench.action.closeEditorsToTheRight |
全部关闭 |
Ctrl+K Ctrl+W |
workbench.action.closeAllEditors |
重新打开关闭的编辑器 |
Ctrl+Shift+T 组合键 |
workbench.action.reopenClosedEditor |
保持开放 |
Ctrl+K 输入 |
workbench.action.keepEditor |
活动文件的复制路径 |
Ctrl+K P |
workbench.action.files.copyPathOfActiveFile |
在 Windows 中显示活动文件 |
Ctrl+K R |
workbench.action.files.revealActiveFileInWindows |
在新窗口中显示打开的文件 |
未分配 |
workbench.action.files.showOpenedFileInNewWindow |
将打开的文件与 |
未分配 |
workbench.files.action.compareFileWith |
命令 |
钥匙 |
命令 ID |
切换全屏 |
F11 |
workbench.action.toggleFullScreen |
切换禅宗模式 |
Ctrl+K Z |
workbench.action.toggleZenMode |
离开禅宗模式 |
逃生 逃生 |
workbench.action.exitZenMode |
放大 |
Ctrl+= |
workbench.action.zoomIn |
缩小 |
Ctrl+- 组合键 |
workbench.action.zoomOut |
重置缩放 |
Ctrl+数字键盘0 |
workbench.action.zoomReset |
切换侧边栏可见性 |
Ctrl+B 组合键 |
workbench.action.toggleSidebarVisibility |
显示资源管理器/切换焦点 |
Ctrl+Shift+E 组合键 |
workbench.view.explorer |
显示搜索 |
Ctrl+Shift+F 组合键 |
workbench.view.search |
显示源代码管理 |
Ctrl+Shift+G 组合键 |
workbench.view.scm |
显示运行 |
Ctrl+Shift+D 组合键 |
workbench.view.debug |
显示扩展 |
Ctrl+Shift+X 组合键 |
workbench.view.extensions |
显示输出 |
Ctrl+Shift+U 组合键 |
workbench.action.output.toggleOutput |
快速打开视图 |
Ctrl+Q 组合键 |
workbench.action.quickOpenView |
打开新命令提示符 |
Ctrl+Shift+C 组合键 |
workbench.action.terminal.openNativeConsole |
Toggle Markdown 预览 |
Ctrl+Shift+V 组合键 |
markdown.showPreview |
打开侧面预览 |
Ctrl+K V |
markdown.showPreviewToSide |
Toggle 集成终端 |
Ctrl+’ 组合键 |
workbench.action.terminal.toggleTerminal |
命令 |
钥匙 |
命令 ID |
显示搜索 |
Ctrl+Shift+F 组合键 |
workbench.view.search |
在文件中替换 |
Ctrl+Shift+H 组合键 |
workbench.action.replaceInFiles |
切换匹配大小写 |
Alt+C |
toggleSearchCaseSensitive |
切换匹配整个单词 |
Alt+W |
toggleSearchWholeWord |
切换使用正则表达式 |
Alt+R |
toggleSearchRegex |
切换搜索详细信息 |
Ctrl+Shift+J 组合键 |
workbench.action.search.toggleQueryDetails |
Focus Next 搜索结果 |
F4 键 |
search.action.focusNextSearchResult |
聚焦上一页搜索结果 |
Shift+F4 键 |
search.action.focusPreviousSearchResult |
显示下一个搜索词 |
下 |
history.showNext |
显示上一个搜索词 |
向上 |
history.showPrevious |
命令 |
钥匙 |
命令 ID |
在编辑器中打开结果 |
Alt+Enter 键 |
search.action.openInEditor |
焦点搜索编辑器输入 |
逃 |
search.action.focusQueryEditorWidget |
再次搜索 |
Ctrl+Shift+R 组合键 |
rerunSearchEditorSearch |
删除文件结果 |
Ctrl+Shift+退格键 |
search.searchEditor.action.deleteFileResults |
命令 |
钥匙 |
命令 ID |
打开设置 |
Ctrl+, |
workbench.action.openSettings |
打开工作区设置 |
未分配 |
workbench.action.openWorkspaceSettings |
打开键盘快捷键 |
Ctrl+K Ctrl+S |
workbench.action.openGlobalKeybindings |
打开用户片段 |
未分配 |
workbench.action.openSnippets |
选择颜色主题 |
Ctrl+K Ctrl+T |
workbench.action.selectTheme |
配置显示语言 |
未分配 |
workbench.action.configureLocale |
命令 |
钥匙 |
命令 ID |
切换断点 |
F9 键 |
editor.debug.action.toggleBreakpoint |
开始 |
F5 键 |
workbench.action.debug.start |
继续 |
F5 键 |
workbench.action.debug.continue |
启动(无需调试) |
Ctrl+F5 组合键 |
workbench.action.debug.run |
暂停 |
F6 键 |
workbench.action.debug.pause |
步入 |
F11 |
workbench.action.debug.stepInto |
命令 |
钥匙 |
命令 ID |
运行生成任务 |
Ctrl+Shift+B 组合键 |
workbench.action.tasks.build |
运行测试任务 |
未分配 |
workbench.action.tasks.test |
命令 |
钥匙 |
命令 ID |
安装扩展 |
未分配 |
workbench.extensions.action.installExtension |
显示已安装的扩展 |
未分配 |
workbench.extensions.action.showInstalledExtensions |
显示过时的扩展 |
未分配 |
workbench.extensions.action.listOutdatedExtensions |
显示推荐的扩展 |
未分配 |
workbench.extensions.action.showRecommendedExtensions |
显示热门扩展 |
未分配 |
workbench.extensions.action.showPopularExtensions |
更新所有扩展 |
未分配 |
workbench.extensions.action.updateAllExtensions |
现在您已经了解了我们的密钥绑定支持,接下来要做什么…
- 语言支持 - 我们的好、更好、最好的语言网格,看看你能期待什么
- 调试 - 这是 VS Code 真正闪耀的地方
- Node.js - 使用示例应用Node.js端到端方案
在“键盘快捷键”编辑器中,您可以筛选特定的击键,以查看哪些命令绑定到哪些键。下面您可以看到 Ctrl+Shift+P 绑定到显示所有命令以调出命令面板。
在“默认键盘快捷键”中找到触发操作的规则,并在文件中写入该规则的修改版本:keybindings.json
plain
// Original, in Default Keyboard Shortcuts
{ "key": "ctrl+shift+k", "command": "editor.action.deleteLines",
"when": "editorTextFocus" },
// Modified, in User/keybindings.json, Ctrl+D now will also trigger this action
{ "key": "ctrl+d", "command": "editor.action.deleteLines",
"when": "editorTextFocus" },
### 如何仅为某些文件类型添加密钥绑定?
在子句中使用上下文键:editorLangId``when
plain
{ "key": "shift+alt+a", "command": "editor.action.blockComment",
"when": "editorTextFocus && editorLangId == csharp" },
### 我在 keybindings.json 中修改了我的键绑定;为什么它们不起作用?
最常见的问题是文件中的语法错误。否则,请尝试删除该子句或选择其他 .不幸的是,在这一点上,这是一个反复试验的过程。when``key