Visual Studio Code 键盘快捷方式
Visual Studio Code 允许您直接通过键盘执行大多数任务。此页面列出了默认快捷方式(键盘快捷方式),并描述了如何更新它们。
注意: 如果您在 Mac 上访问此页面,您将看到 Mac 的键盘快捷方式。如果您使用 Windows 或 Linux 访问,您将看到该平台的快捷键。如果您需要另一个平台的键盘快捷方式,请将鼠标悬停在您感兴趣的键上。
键盘快捷方式编辑器
VS Code 通过键盘快捷方式编辑器提供丰富的键盘快捷方式编辑体验。编辑器列出了所有可用命令,无论是否具有键盘快捷方式,并允许您使用可用操作更改/删除/重置其键盘快捷方式。您可以使用搜索框查找命令或键盘快捷方式。您可以通过转到菜单 文件 > 首选项 > 键盘快捷方式 或使用 首选项:打开键盘快捷方式 命令 (⌘K ⌘S (Windows, Linux Ctrl+K Ctrl+S)) 来打开此编辑器。
最重要的是,您可以根据您的键盘布局查看键盘快捷方式。例如,当布局更改为德语时,美国键盘布局中的键盘快捷方式 Cmd+\ 将显示为 Ctrl+Shift+Alt+Cmd+7。输入键盘快捷方式的对话框将根据您的键盘布局分配正确且所需的键盘快捷方式。
要进行更高级的键盘快捷方式自定义,请阅读 高级自定义。
自定义 UI 操作的快捷方式
您可以快速自定义用户界面操作的键盘快捷方式。右键单击工作台中任何操作项,然后选择 配置键绑定。如果该操作具有 when
子句,则会自动包含该子句,从而更轻松地按照您需要的方式设置键盘快捷方式。
键位映射扩展
键盘快捷方式对于提高生产力至关重要,而改变键盘习惯可能很困难。为了帮助解决这个问题,文件 > 首选项 > 从...迁移键盘快捷方式 向您显示流行的键位映射扩展列表。这些扩展修改 VS Code 快捷方式以匹配其他编辑器的快捷方式,因此您无需学习新的键盘快捷方式。Marketplace 中还有一个 键位映射类别 的扩展。
提示:单击上面的扩展磁贴以阅读描述和评论,以确定哪个扩展最适合您。在 Marketplace 中查看更多信息。
键盘快捷方式参考
我们还提供了这些键盘快捷方式的可打印版本。帮助 > 键盘快捷方式参考 显示了适合打印的精简 PDF 版本,方便参考。
以下是三个平台特定版本(美国英语键盘)的链接
检测键盘快捷方式冲突
如果您安装了许多扩展或 自定义 了键盘快捷方式,有时可能会遇到键盘快捷方式冲突,其中相同的键盘快捷方式映射到多个命令。这可能会导致令人困惑的行为,尤其是在您在编辑器中移动时,不同的键盘快捷方式进出范围的情况下。
键盘快捷方式 编辑器有一个上下文菜单命令 显示相同键绑定,它将根据键盘快捷方式过滤键盘快捷方式以显示冲突。
选择一个您认为过载的键盘快捷方式的命令,您可以看到是否定义了多个命令、键盘快捷方式的来源以及它们何时处于活动状态。
键盘快捷方式故障排除
要解决键盘快捷方式问题,您可以执行命令 开发人员:切换键盘快捷方式故障排除。这将激活已调度键盘快捷方式的日志记录,并将打开一个包含相应日志文件的输出面板。
然后,您可以按下所需的键盘快捷方式,并检查 VS Code 检测到什么键盘快捷方式以及调用了什么命令。
例如,在 macOS 的代码编辑器中按 cmd+/
时,日志输出将是
[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 事件是针对 MetaLeft
键 (cmd
),无法调度。第二个 keydown 事件是针对 Slash
键 (/
),并作为 meta+[Slash]
调度。有两个键盘快捷方式条目从 meta+[Slash]
映射,匹配的那个是命令 editor.action.commentLine
,它具有 when
条件 editorTextFocus && !editorReadonly
,并且是一个内置的键盘快捷方式条目。
查看修改后的键盘快捷方式
您可以使用 键盘快捷方式 编辑器中的 显示用户键绑定 命令在 更多操作 (...) 菜单中查看 VS Code 中任何用户修改的键盘快捷方式。这会将 @source:user
过滤器应用于 键盘快捷方式 编辑器(来源 为“用户”)。
高级自定义
VS Code 中的所有键盘快捷方式都可以通过 keybindings.json
文件进行自定义,您可以在其中覆盖 默认键盘快捷方式。
要打开 keybindings.json
文件
-
打开 键盘快捷方式 编辑器,然后选择编辑器标题栏右侧的 打开键盘快捷方式 (JSON) 按钮。
在命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 中。
键盘规则
每个规则都包含
- 一个
key
,用于描述按下的键。 - 一个
command
,包含要执行的命令的标识符。 - 一个可选的
when
子句,其中包含一个布尔表达式,该表达式将根据当前的上下文进行评估。
和弦(两个单独的按键操作)通过用空格分隔两个按键来描述。例如,Ctrl+K Ctrl+C。
当按下键时
- 规则从底部到顶部进行评估。
- 第一个匹配的规则,包括
key
和when
,将被接受。 - 不再处理更多规则。
- 如果找到一个规则并且设置了
command
,则执行command
。
附加的 keybindings.json
规则在运行时附加到默认规则的底部,从而允许它们覆盖默认规则。VS Code 监视 keybindings.json
文件,因此在 VS Code 运行时编辑它将实时更新规则。
键盘快捷方式调度是通过分析以 JSON 表示的规则列表来完成的。以下是一些示例
// Keyboard shortcuts that are active when the focus is in the editor
{ "key": "home", "command": "cursorHome", "when": "editorTextFocus" },
{ "key": "shift+home", "command": "cursorHomeSelect", "when": "editorTextFocus" },
// Keyboard shortcuts that are complementary
{ "key": "f5", "command": "workbench.action.debug.continue", "when": "inDebugMode" },
{ "key": "f5", "command": "workbench.action.debug.start", "when": "!inDebugMode" },
// Global keyboard shortcuts
{ "key": "ctrl+f", "command": "actions.find" },
{ "key": "alt+left", "command": "workbench.action.navigateBack" },
{ "key": "alt+right", "command": "workbench.action.navigateForward" },
// Global keyboard shortcuts 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+ |
Windows | Ctrl+、Shift+、Alt+、Win+ |
Linux | Ctrl+、Shift+、Alt+、Meta+ |
接受以下键
- f1-f19、a-z、0-9
- `, -, =, [, ], \, ;, ', ,, ., /
- left、up、right、down、pageup、pagedown、end、home
- 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 命令将接收 {"text": "Hello World"}
作为其第一个参数,并将“Hello World”添加到文件中,而不是生成默认命令。
有关接受参数的命令的更多信息,请参阅 内置命令。
运行多个命令
可以使用命令 runCommands
创建一个键盘快捷方式,该快捷方式按顺序运行多个其他命令。
- 运行多个没有参数的命令:向下复制当前行,将当前行标记为注释,将光标移动到复制的行
{
"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}"
}
}
]
}
},
请注意,由 runCommands
运行的命令接收 "args"
的值作为第一个参数。因此,在上面的示例中,workbench.action.files.newUntitledFile
接收 {"languageId": "typescript" }
作为其第一个也是唯一的参数。
要传递多个参数,需要将 "args"
作为数组
{
"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] ]
。
删除特定的键盘快捷方式规则
您可以编写一个键盘快捷方式规则,该规则旨在删除特定的默认键盘快捷方式。使用 keybindings.json
,始终可以重新定义 VS Code 的所有键盘快捷方式,但进行小的调整可能很困难,尤其是在 Tab 或 Escape 等重载键周围。要删除特定的键盘快捷方式,请在 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` keyboard shortcut, for example, add in keybindings.json:
{ "key": "tab", "command": "" }
键盘布局
注意: 本节仅与键盘快捷方式相关,与在编辑器中键入无关。
上面的键是虚拟键的字符串表示形式,不一定与按下它们时生成的字符相关。更准确地说
- 参考:虚拟键代码 (Windows)
- tab 代表
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
) - ` 代表
VK_OEM_3
(0xC0
) - [ 代表
VK_OEM_4
(0xDB
) - \ 代表
VK_OEM_5
(0xDC
) - ] 代表
VK_OEM_6
(0xDD
) - ' 代表
VK_OEM_7
(0xDE
) - 等等。
不同的键盘布局通常会重新定位上述虚拟键或更改按下它们时生成的字符。当使用与标准美国键盘不同的键盘布局时,Visual Studio Code 会执行以下操作
所有键盘快捷方式都在 UI 中使用当前系统的键盘布局呈现。例如,使用法语(法国)键盘布局时,拆分编辑器
现在呈现为 Ctrl+*
编辑 keybindings.json
时,VS Code 会突出显示误导性的键盘快捷方式,这些快捷方式在文件中使用标准美国键盘布局下生成的字符表示,但需要在当前系统的键盘布局下按下具有不同标签的键。例如,以下是使用法语(法国)键盘布局时 默认键盘快捷方式 规则的外观
还有一个小部件可以帮助在编辑 keybindings.json
时输入键盘快捷方式规则。要启动 定义键绑定 小部件,请按 ⌘K ⌘K (Windows, Linux Ctrl+K Ctrl+K)。该小部件会监听按键,并在文本框中呈现序列化的 JSON 表示形式,并在其下方呈现 VS Code 在您当前的键盘布局下检测到的键。一旦您键入了想要的组合键,您可以按 Enter,将插入规则代码片段。
注意: 在 Linux 上,Visual Studio Code 会在启动时检测您当前的键盘布局,然后缓存此信息。为了获得良好的体验,我们建议您在更改键盘布局时重新启动 VS Code。
独立于键盘布局的绑定
使用扫描码,可以定义不随键盘布局更改而更改的键盘快捷方式。例如
{ "key": "cmd+[Slash]", "command": "editor.action.commentLine", "when": "editorTextFocus" }
接受的扫描码
- [F1]-[F19]、[KeyA]-[KeyZ]、[Digit0]-[Digit9]
- [Backquote]、[Minus]、[Equal]、[BracketLeft]、[BracketRight]、[Backslash]、[Semicolon]、[Quote]、[Comma]、[Period]、[Slash]
- [ArrowLeft]、[ArrowUp]、[ArrowRight]、[ArrowDown]、[PageUp]、[PageDown]、[End]、[Home]
- [Tab]、[Enter]、[Escape]、[Space]、[Backspace]、[Delete]
- [Pause]、[CapsLock]、[Insert]
- [Numpad0]-[Numpad9]、[NumpadMultiply]、[NumpadAdd]、[NumpadComma]
- [NumpadSubtract]、[NumpadDecimal]、[NumpadDivide]
when 子句上下文
VS Code 允许您通过可选的 when
子句精细控制何时启用键盘快捷方式。如果您的键盘快捷方式没有 when
子句,则键盘快捷方式始终全局可用。when
子句评估为布尔值 true 或 false 以启用键盘快捷方式。
VS Code 根据 VS Code UI 中可见和处于活动状态的元素设置各种上下文键和特定值。例如,内置的 开始调试 命令具有键盘快捷方式 F5,只有在有可用的调试器(上下文 debuggersAvailable
为 true)且编辑器未处于调试模式(上下文 inDebugMode
为 false)时才启用。
您还可以在默认的 keybinding.json
中直接查看键盘快捷方式的 when 子句(首选项:打开默认键盘快捷方式 (JSON))
{ "key": "f5", "command": "workbench.action.debug.start",
"when": "debuggersAvailable && !inDebugMode" },
条件运算符
对于 when 子句条件表达式,以下条件运算符对于键盘快捷方式很有用
运算符 | 符号 | 示例 |
---|---|---|
相等 | == |
"editorLangId == typescript" |
不等 | != |
"resourceExtname != .js" |
或 | || |
"isLinux || isWindows" |
与 | && |
"textInputFocus && !editorReadonly" |
匹配 | =~ |
"resourceScheme =~ /^untitled$|^file$/" |
您可以在 when 子句上下文 参考中找到 when 子句条件运算符的完整列表。
可用上下文
您可以在 when 子句上下文参考 中找到一些可用的 when
子句上下文。
该列表并非详尽无遗,您可以通过在键盘快捷方式编辑器(首选项:打开键盘快捷方式)中搜索和过滤或查看默认的 keybindings.json
文件(首选项:打开默认键盘快捷方式 (JSON))来找到其他 when
子句上下文。
用于重构的自定义键盘快捷方式
editor.action.codeAction
命令允许您为特定的 重构(代码操作)配置键盘快捷方式。例如,下面的键盘快捷方式触发 提取函数 重构代码操作
{
"key": "ctrl+shift+r ctrl+e",
"command": "editor.action.codeAction",
"args": {
"kind": "refactor.extract.function"
}
}
这在 重构 主题中进行了深入介绍,您可以在其中了解不同类型的代码操作以及如何在多种可能的重构情况下对其进行优先级排序。
默认键盘快捷方式
您可以使用 键盘快捷方式 编辑器中的 显示默认键绑定 命令在 更多操作 (...) 菜单中查看 VS Code 中的所有默认键盘快捷方式。这会将 @source:default
过滤器应用于 键盘快捷方式 编辑器(来源 为“默认”)。
您可以使用命令 首选项:打开默认键盘快捷方式 (JSON) 将默认键盘快捷方式视为 JSON 文件。
注意: 以下键是假设标准美国键盘布局呈现的。如果您使用不同的键盘布局,请 阅读下文。您可以在 命令面板(查看 -> 命令面板)或 键盘快捷方式 编辑器(文件 > 首选项 > 键盘快捷方式)中查看 VS Code 中当前活动的键盘快捷方式。
下面包含的某些命令没有默认键盘快捷方式,因此显示为 未分配,但您可以分配自己的键盘快捷方式。
基本编辑
命令 | 键 | 命令 ID |
---|---|---|
剪切行(空选择) | ⌘X (Windows, Linux Ctrl+X) | editor.action.clipboardCutAction |
复制行(空选择) | ⌘C (Windows, Linux Ctrl+C) | editor.action.clipboardCopyAction |
粘贴 | ⌘V (Windows, Linux Ctrl+V) | editor.action.clipboardPasteAction |
删除行 | ⇧⌘K (Windows, Linux Ctrl+Shift+K) | editor.action.deleteLines |
在下方插入行 | ⌘Enter (Windows, Linux Ctrl+Enter) | editor.action.insertLineAfter |
在上方插入行 | ⇧⌘Enter (Windows, Linux Ctrl+Shift+Enter) | editor.action.insertLineBefore |
向下移动行 | ⌥↓ (Windows, Linux Alt+Down) | editor.action.moveLinesDownAction |
向上移动行 | ⌥↑ (Windows, Linux Alt+Up) | editor.action.moveLinesUpAction |
向下复制行 | ⇧⌥↓ (Windows Shift+Alt+Down, Linux Ctrl+Shift+Alt+Down) | editor.action.copyLinesDownAction |
向上复制行 | ⇧⌥↑ (Windows Shift+Alt+Up, Linux Ctrl+Shift+Alt+Up) | editor.action.copyLinesUpAction |
撤消 | ⌘Z (Windows, Linux Ctrl+Z) | undo |
重做 | ⇧⌘Z (Windows, Linux Ctrl+Y) | redo |
将选区添加到下一个查找匹配项 | ⌘D (Windows, Linux Ctrl+D) | editor.action.addSelectionToNextFindMatch |
将最后一个选区移动到下一个查找匹配项 | ⌘K ⌘D (Windows, Linux Ctrl+K Ctrl+D) | editor.action.moveSelectionToNextFindMatch |
撤消上次光标操作 | ⌘U (Windows, Linux Ctrl+U) | cursorUndo |
在每个选定行的末尾插入光标 | ⇧⌥I (Windows, Linux Shift+Alt+I) | editor.action.insertCursorAtEndOfEachLineSelected |
选择当前选区的所有匹配项 | ⇧⌘L (Windows, Linux Ctrl+Shift+L) | editor.action.selectHighlights |
选择当前单词的所有匹配项 | ⌘F2 (Windows, Linux Ctrl+F2) | editor.action.changeAll |
选择当前行 | ⌘L (Windows, Linux Ctrl+L) | expandLineSelection |
在下方插入光标 | ⌥⌘↓ (Windows Ctrl+Alt+Down, Linux Shift+Alt+Down) | editor.action.insertCursorBelow |
在上方插入光标 | ⌥⌘↑ (Windows Ctrl+Alt+Up, Linux Shift+Alt+Up) | editor.action.insertCursorAbove |
跳转到匹配的括号 | ⇧⌘\ (Windows, Linux Ctrl+Shift+\) | editor.action.jumpToBracket |
缩进行 | ⌘] (Windows, Linux Ctrl+]) | editor.action.indentLines |
减少行缩进 | ⌘[ (Windows, Linux Ctrl+[) | editor.action.outdentLines |
转到行首 | Home | cursorHome |
转到行尾 | End | cursorEnd |
转到文件末尾 | ⌘↓ (Windows, Linux Ctrl+End) | cursorBottom |
转到文件开头 | ⌘↑ (Windows, Linux Ctrl+Home) | cursorTop |
向下滚动行 | ⌃PageDown (Windows, Linux Ctrl+Down) | scrollLineDown |
向上滚动行 | ⌃PageUp (Windows, Linux Ctrl+Up) | scrollLineUp |
向下滚动页面 | ⌘PageDown (Windows, Linux Alt+PageDown) | scrollPageDown |
向上滚动页面 | ⌘PageUp (Windows, Linux Alt+PageUp) | scrollPageUp |
折叠(收起)区域 | ⌥⌘[ (Windows, Linux Ctrl+Shift+[) | editor.fold |
展开(展开)区域 | ⌥⌘] (Windows, Linux Ctrl+Shift+]) | editor.unfold |
切换折叠区域 | ⌘K ⌘L (Windows, Linux Ctrl+K Ctrl+L) | editor.toggleFold |
折叠(收起)所有子区域 | ⌘K ⌘[ (Windows, Linux Ctrl+K Ctrl+[) | editor.foldRecursively |
展开(展开)所有子区域 | ⌘K ⌘] (Windows, Linux Ctrl+K Ctrl+]) | editor.unfoldRecursively |
折叠(收起)所有区域 | ⌘K ⌘0 (Windows, Linux Ctrl+K Ctrl+0) | editor.foldAll |
展开(展开)所有区域 | ⌘K ⌘J (Windows, Linux Ctrl+K Ctrl+J) | editor.unfoldAll |
添加行注释 | ⌘K ⌘C (Windows, Linux Ctrl+K Ctrl+C) (Windows, Linux Ctrl+K Ctrl+C) | editor.action.addCommentLine |
添加行注释 | ⌘K ⌘U (Windows, Linux Ctrl+K Ctrl+U) (Windows, Linux Ctrl+K Ctrl+U) | editor.action.removeCommentLine |
移除行注释 | ⌘/ (Windows, Linux Ctrl+/) (Windows, Linux Ctrl+/) | editor.action.commentLine |
切换行注释 | ⇧⌥A (Windows Shift+Alt+A, Linux Ctrl+Shift+A) (Windows Shift+Alt+A, Linux Ctrl+Shift+A) | editor.action.blockComment |
切换块注释 | ⌘F (Windows, Linux Ctrl+F) (Windows, Linux Ctrl+F) | actions.find |
查找 | ⌥⌘F (Windows, Linux Ctrl+H) (Windows, Linux Ctrl+H) | editor.action.startFindReplaceAction |
替换 | Enter | editor.action.nextMatchFindAction |
查找下一个 | ⇧Enter (Windows, Linux Shift+Enter) (Windows, Linux Shift+Enter) | editor.action.previousMatchFindAction |
查找上一个 | ⌥Enter (Windows, Linux Alt+Enter) (Windows, Linux Alt+Enter) | editor.action.selectAllMatches |
选择所有匹配项 | ⌥⌘C (Windows, Linux Alt+C) (Windows, Linux Alt+C) | toggleFindCaseSensitive |
切换查找区分大小写 | ⌥⌘R (Windows, Linux Alt+R) (Windows, Linux Alt+R) | toggleFindRegex |
切换查找使用正则表达式 | ⌥⌘W (Windows, Linux Alt+W) (Windows, Linux Alt+W) | toggleFindWholeWord |
切换查找全字匹配 | ⌃⇧M (Windows, Linux Ctrl+M) (Windows, Linux Ctrl+M) | editor.action.toggleTabFocusMode |
切换使用 Tab 键设置焦点 | toggleRenderWhitespace |
|
切换渲染空格 | ⌥Z (Windows, Linux Alt+Z) (Windows, Linux Alt+Z) | editor.action.toggleWordWrap |
切换自动换行
命令 | 键 | 命令 ID |
---|---|---|
富语言编辑 | ⌃Space (Windows, Linux Ctrl+Space) (Windows, Linux Ctrl+Space) | editor.action.triggerSuggest |
触发建议 | ⇧⌘Space (Windows, Linux Ctrl+Shift+Space) (Windows, Linux Ctrl+Shift+Space) | editor.action.triggerParameterHints |
触发参数提示 | ⇧⌥F (Windows Shift+Alt+F, Linux Ctrl+Shift+I) (Windows Shift+Alt+F, Linux Ctrl+Shift+I) | editor.action.formatDocument |
格式化文档 | ⌘K ⌘F (Windows, Linux Ctrl+K Ctrl+F) (Windows, Linux Ctrl+K Ctrl+F) | editor.action.formatSelection |
格式化选定内容 | F12 | editor.action.revealDefinition |
转到定义 | ⌘K ⌘I (Windows, Linux Ctrl+K Ctrl+I) (Windows, Linux Ctrl+K Ctrl+I) | editor.action.showHover |
显示悬停提示 | ⌥F12 (Windows Alt+F12, Linux Ctrl+Shift+F10) (Windows Alt+F12, Linux Ctrl+Shift+F10) | editor.action.peekDefinition |
查看定义 | ⌘K F12 (Windows, Linux Ctrl+K F12) (Windows, Linux Ctrl+K F12) | editor.action.revealDefinitionAside |
在侧边打开定义 | ⌘. (Windows, Linux Ctrl+.) (Windows, Linux Ctrl+.) | editor.action.quickFix |
快速修复 | ⇧F12 (Windows, Linux Shift+F12) (Windows, Linux Shift+F12) | editor.action.goToReferences |
转到引用 | F2 | editor.action.rename |
重命名符号 | ⇧⌘. (Windows, Linux Ctrl+Shift+.) (Windows, Linux Ctrl+Shift+.) | editor.action.inPlaceReplace.down |
替换为下一个值 | ⇧⌘, (Windows, Linux Ctrl+Shift+,) (Windows, Linux Ctrl+Shift+,) | editor.action.inPlaceReplace.up |
替换为上一个值 | ⌃⇧⌘→ (Windows, Linux Shift+Alt+Right) (Windows, Linux Shift+Alt+Right) | editor.action.smartSelect.expand |
扩展 AST 选择 | ⌃⇧⌘← (Windows, Linux Shift+Alt+Left) (Windows, Linux Shift+Alt+Left) | editor.action.smartSelect.shrink |
收缩 AST 选择 | ⌘K ⌘X (Windows, Linux Ctrl+K Ctrl+X) (Windows, Linux Ctrl+K Ctrl+X) | editor.action.trimTrailingWhitespace |
删除尾随空格 | ⌘K M (Windows, Linux Ctrl+K M) (Windows, Linux Ctrl+K M) | workbench.action.editor.changeLanguageMode |
更改语言模式
命令 | 键 | 命令 ID |
---|---|---|
导航 | ⌘T (Windows, Linux Ctrl+T) (Windows, Linux Ctrl+T) | workbench.action.showAllSymbols |
显示所有符号 | ⌃G (Windows, Linux Ctrl+G) (Windows, Linux Ctrl+G) | workbench.action.gotoLine |
转到行... | ⌘P (Windows, Linux Ctrl+P) (Windows, Linux Ctrl+P) | workbench.action.quickOpen |
转到文件..., 快速打开 | ⇧⌘O (Windows, Linux Ctrl+Shift+O) (Windows, Linux Ctrl+Shift+O) | workbench.action.gotoSymbol |
转到符号... | ⇧⌘M (Windows, Linux Ctrl+Shift+M) (Windows, Linux Ctrl+Shift+M) | workbench.actions.view.problems |
显示问题 | F8 | editor.action.marker.nextInFiles |
转到下一个错误或警告 | ⇧F8 (Windows, Linux Shift+F8) (Windows, Linux Shift+F8) | editor.action.marker.prevInFiles |
转到上一个错误或警告 | ⇧⌘P (Windows, Linux Ctrl+Shift+P) or F1 (Windows, Linux Ctrl+Shift+P) 或 F1 | workbench.action.showCommands |
显示所有命令 | ⌃Tab (Windows, Linux Ctrl+Tab) (Windows, Linux Ctrl+Tab) | workbench.action.quickOpenPreviousRecentlyUsedEditorInGroup |
在编辑器组历史记录中导航 | ⌃- (Windows Alt+Left, Linux Ctrl+Alt+-) (Windows Alt+Left, Linux Ctrl+Alt+-) | workbench.action.navigateBack |
后退 | ⌃- (Windows Alt+Left, Linux Ctrl+Alt+-) (Windows Alt+Left, Linux Ctrl+Alt+-) | workbench.action.quickInputBack |
在快速输入中后退 | ⌃⇧- (Windows Alt+Right, Linux Ctrl+Shift+-) (Windows Alt+Right, Linux Ctrl+Shift+-) | workbench.action.navigateForward |
前进 | ⇧⌘; (Windows, Linux Ctrl+Shift+;) (Windows, Linux Ctrl+Shift+;) | breadcrumbs.focus |
聚焦面包屑导航 | ⇧⌘. (Windows, Linux Ctrl+Shift+.) (Windows, Linux Ctrl+Shift+.) | breadcrumbs.focusAndSelect |
聚焦并选择面包屑导航
命令 | 键 | 命令 ID |
---|---|---|
编辑器/窗口管理 | ⇧⌘N (Windows, Linux Ctrl+Shift+N) (Windows, Linux Ctrl+Shift+N) | workbench.action.newWindow |
新建窗口 | ⌘W (Windows, Linux Alt+F4) (Windows, Linux Alt+F4) | workbench.action.closeWindow |
关闭窗口 | ⌘W (Windows Ctrl+F4, Linux Ctrl+W) (Windows Ctrl+F4, Linux Ctrl+W) | workbench.action.closeActiveEditor |
关闭编辑器 | ⌘K F (Windows, Linux Ctrl+K F) (Windows, Linux Ctrl+K F) | workbench.action.closeFolder |
关闭文件夹 | workbench.action.navigateEditorGroups |
|
在编辑器组之间循环 | ⌘\ (Windows, Linux Ctrl+\) (Windows, Linux Ctrl+\) | workbench.action.splitEditor |
拆分编辑器 | ⌘1 (Windows, Linux Ctrl+1) (Windows, Linux Ctrl+1) | workbench.action.focusFirstEditorGroup |
聚焦到第一个编辑器组 | ⌘2 (Windows, Linux Ctrl+2) (Windows, Linux Ctrl+2) | workbench.action.focusSecondEditorGroup |
聚焦到第二个编辑器组 | ⌘3 (Windows, Linux Ctrl+3) (Windows, Linux Ctrl+3) | workbench.action.focusThirdEditorGroup |
聚焦到第三个编辑器组 | workbench.action.focusPreviousGroup |
|
聚焦到左侧编辑器组 | workbench.action.focusNextGroup |
|
聚焦到右侧编辑器组 | ⌘K ⇧⌘← (Windows, Linux Ctrl+Shift+PageUp) (Windows, Linux Ctrl+Shift+PageUp) | workbench.action.moveEditorLeftInGroup |
向左移动编辑器 | ⌘K ⇧⌘→ (Windows, Linux Ctrl+Shift+PageDown) (Windows, Linux Ctrl+Shift+PageDown) | workbench.action.moveEditorRightInGroup |
向右移动编辑器 | ⌘K ← (Windows, Linux Ctrl+K Left) (Windows, Linux Ctrl+K Left) | workbench.action.moveActiveEditorGroupLeft |
向左移动活动编辑器组 | ⌘K → (Windows, Linux Ctrl+K Right) (Windows, Linux Ctrl+K Right) | workbench.action.moveActiveEditorGroupRight |
向右移动活动编辑器组 | ⌃⌘→ (Windows, Linux Ctrl+Alt+Right) (Windows, Linux Ctrl+Alt+Right) | workbench.action.moveEditorToNextGroup |
将编辑器移动到下一个组 | ⌃⌘← (Windows, Linux Ctrl+Alt+Left) (Windows, Linux Ctrl+Alt+Left) | workbench.action.moveEditorToPreviousGroup |
将编辑器移动到上一个组
命令 | 键 | 命令 ID |
---|---|---|
文件管理 | ⌘N (Windows, Linux Ctrl+N) (Windows, Linux Ctrl+N) | workbench.action.files.newUntitledFile |
新建文件 | ⌘O (Windows, Linux Ctrl+O) (Windows, Linux Ctrl+O) | workbench.action.files.openFile |
打开文件... | ⌘S (Windows, Linux Ctrl+S) (Windows, Linux Ctrl+S) | workbench.action.files.save |
保存 | ⌥⌘S (Windows Ctrl+K S, Linux ) (Windows Ctrl+K S, Linux ) | saveAll |
全部保存 | ⇧⌘S (Windows, Linux Ctrl+Shift+S) (Windows, Linux Ctrl+Shift+S) | workbench.action.files.saveAs |
另存为... | ⌘W (Windows Ctrl+F4, Linux Ctrl+W) (Windows Ctrl+F4, Linux Ctrl+W) | workbench.action.closeActiveEditor |
关闭 | ⌥⌘T (Windows, Linux ) (Windows, Linux ) | workbench.action.closeOtherEditors |
关闭其他 | ⌘K W (Windows, Linux Ctrl+K W) (Windows, Linux Ctrl+K W) | workbench.action.closeEditorsInGroup |
关闭组 | workbench.action.closeEditorsInOtherGroups |
|
关闭其他组 | workbench.action.closeEditorsToTheLeft |
|
关闭左侧组 | workbench.action.closeEditorsToTheRight |
|
关闭右侧组 | ⌘K ⌘W (Windows, Linux Ctrl+K Ctrl+W) (Windows, Linux Ctrl+K Ctrl+W) | workbench.action.closeAllEditors |
全部关闭 | ⇧⌘T (Windows, Linux Ctrl+Shift+T) (Windows, Linux Ctrl+Shift+T) | workbench.action.reopenClosedEditor |
重新打开已关闭的编辑器 | ⌘K Enter (Windows, Linux Ctrl+K Enter) (Windows, Linux Ctrl+K Enter) | workbench.action.keepEditor |
保持打开状态 | ⌘K P (Windows, Linux Ctrl+K P) (Windows, Linux Ctrl+K P) | workbench.action.files.copyPathOfActiveFile |
复制活动文件的路径 | ⌘K R (Windows, Linux Ctrl+K R) (Windows, Linux Ctrl+K R) | workbench.action.files.revealActiveFileInWindows |
在 Windows 资源管理器中显示活动文件 | workbench.action.files.showOpenedFileInNewWindow |
|
在新窗口中显示已打开的文件 | workbench.files.action.compareFileWith |
与...比较已打开的文件
命令 | 键 | 命令 ID |
---|---|---|
显示 | ⌃⌘F (Windows, Linux F11) (Windows, Linux F11) | workbench.action.toggleFullScreen |
切换全屏 | ⌘K Z (Windows, Linux Ctrl+K Z) (Windows, Linux Ctrl+K Z) | workbench.action.toggleZenMode |
切换禅模式 | Escape Escape | workbench.action.exitZenMode |
离开禅模式 | ⌘= (Windows, Linux Ctrl+=) (Windows, Linux Ctrl+=) | workbench.action.zoomIn |
放大 | ⌘- (Windows, Linux Ctrl+-) (Windows, Linux Ctrl+-) | workbench.action.zoomOut |
缩小 | ⌘Numpad0 (Windows, Linux Ctrl+Numpad0) (Windows, Linux Ctrl+Numpad0) | workbench.action.zoomReset |
重置缩放 | ⌘B (Windows, Linux Ctrl+B) (Windows, Linux Ctrl+B) | workbench.action.toggleSidebarVisibility |
切换侧边栏可见性 | ⇧⌘E (Windows, Linux Ctrl+Shift+E) (Windows, Linux Ctrl+Shift+E) | workbench.view.explorer |
显示资源管理器 / 切换焦点 | ⇧⌘F (Windows, Linux Ctrl+Shift+F) (Windows, Linux Ctrl+Shift+F) | workbench.view.search |
显示搜索 | ⌃⇧G (Windows, Linux Ctrl+Shift+G) (Windows, Linux Ctrl+Shift+G) | workbench.view.scm |
显示源代码管理 | ⇧⌘D (Windows, Linux Ctrl+Shift+D) (Windows, Linux Ctrl+Shift+D) | workbench.view.debug |
显示运行和调试 | ⇧⌘X (Windows, Linux Ctrl+Shift+X) (Windows, Linux Ctrl+Shift+X) | workbench.view.extensions |
显示扩展 | ⇧⌘U (Windows Ctrl+Shift+U, Linux Ctrl+K Ctrl+H) (Windows Ctrl+Shift+U, Linux Ctrl+K Ctrl+H) | workbench.action.output.toggleOutput |
显示输出 | ⌃Q (Windows Ctrl+Q, Linux ) (Windows Ctrl+Q, Linux ) | workbench.action.quickOpenView |
快速打开视图 | ⇧⌘C (Windows, Linux Ctrl+Shift+C) (Windows, Linux Ctrl+Shift+C) | workbench.action.terminal.openNativeConsole |
打开新的命令提示符 | ⇧⌘V (Windows, Linux Ctrl+Shift+V) (Windows, Linux Ctrl+Shift+V) | markdown.showPreview |
切换 Markdown 预览 | ⌘K V (Windows, Linux Ctrl+K V) (Windows, Linux Ctrl+K V) | markdown.showPreviewToSide |
在侧边打开预览 | ⌃` (Windows, Linux Ctrl+`) (Windows, Linux Ctrl+`) | workbench.action.terminal.toggleTerminal |
搜索
命令 | 键 | 命令 ID |
---|---|---|
显示资源管理器 / 切换焦点 | ⇧⌘F (Windows, Linux Ctrl+Shift+F) (Windows, Linux Ctrl+Shift+F) | workbench.view.search |
切换集成终端 | ⇧⌘H (Windows, Linux Ctrl+Shift+H) (Windows, Linux Ctrl+Shift+H) | workbench.action.replaceInFiles |
在文件中替换 | ⌥⌘C (Windows, Linux Alt+C) (Windows, Linux Alt+C) | toggleSearchCaseSensitive |
切换匹配大小写 | ⌥⌘W (Windows, Linux Alt+W) (Windows, Linux Alt+W) | toggleSearchWholeWord |
切换匹配全字 | ⌥⌘R (Windows, Linux Alt+R) (Windows, Linux Alt+R) | toggleSearchRegex |
切换使用正则表达式 | ⇧⌘J (Windows, Linux Ctrl+Shift+J) (Windows, Linux Ctrl+Shift+J) | workbench.action.search.toggleQueryDetails |
切换搜索详细信息 | F4 | search.action.focusNextSearchResult |
聚焦下一个搜索结果 | ⇧F4 (Windows, Linux Shift+F4) (Windows, Linux Shift+F4) | search.action.focusPreviousSearchResult |
聚焦上一个搜索结果 | ↓ (Windows, Linux Down) (Windows, Linux Down) | history.showNext |
显示下一个搜索词条 | ↑ (Windows, Linux Up) (Windows, Linux Up) | history.showPrevious |
显示上一个搜索词条
命令 | 键 | 命令 ID |
---|---|---|
打开编辑器中的搜索结果 | ⌘Enter (Windows, Linux Alt+Enter) (Windows, Linux Alt+Enter) | search.action.openInEditor |
搜索编辑器 | Escape | search.action.focusQueryEditorWidget |
聚焦搜索编辑器输入框 | ⇧⌘R (Windows, Linux Ctrl+Shift+R) (Windows, Linux Ctrl+Shift+R) | rerunSearchEditorSearch |
再次搜索 | ⇧⌘Backspace (Windows, Linux Ctrl+Shift+Backspace) (Windows, Linux Ctrl+Shift+Backspace) | search.searchEditor.action.deleteFileResults |
删除文件结果
命令 | 键 | 命令 ID |
---|---|---|
首选项 | ⌘, (Windows, Linux Ctrl+,) (Windows, Linux Ctrl+,) | workbench.action.openSettings |
打开设置 | workbench.action.openWorkspaceSettings |
|
打开工作区设置 | ⌘K ⌘S (Windows, Linux Ctrl+K Ctrl+S) (Windows, Linux Ctrl+K Ctrl+S) | workbench.action.openGlobalKeybindings |
打开键盘快捷方式 | workbench.action.openSnippets |
|
打开用户代码片段 | ⌘K ⌘T (Windows, Linux Ctrl+K Ctrl+T) (Windows, Linux 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 |
继续 | ⌃F5 (Windows, Linux Ctrl+F5) (Windows, Linux Ctrl+F5) | workbench.action.debug.run |
启动(不调试) | F6 | workbench.action.debug.pause |
暂停 | F11 | workbench.action.debug.stepInto |
任务
命令 | 键 | 命令 ID |
---|---|---|
单步进入 | ⇧⌘B (Windows, Linux Ctrl+Shift+B) (Windows, Linux 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 |
后续步骤
更新所有扩展
常见问题
Node.js - 包含示例应用程序的端到端 Node.js 场景
如何找出哪个命令绑定到特定键?
在 键盘快捷方式 编辑器中,您可以按特定的击键进行筛选,以查看哪些命令绑定到哪些键。下面您可以看到 Ctrl+Shift+P 绑定到 显示所有命令,以调出命令面板。
如何为操作添加键盘快捷方式,例如,为删除行添加 Ctrl+D
// 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" },
在 默认键盘快捷方式 中找到触发操作的规则,并在您的 keybindings.json
文件中编写其修改版本
如何仅为某些文件类型添加键盘快捷方式?
{ "key": "shift+alt+a", "command": "editor.action.blockComment",
"when": "editorTextFocus && editorLangId == csharp" },
在您的 when
子句中使用 editorLangId
上下文键
我已经在 keybindings.json
中修改了我的键盘快捷方式;为什么它们不起作用?