Visual Studio Code 的按键绑定
Visual Studio Code 允许您直接通过键盘执行大多数任务。此页面列出了默认绑定(键盘快捷键)并描述了如何更新它们。
注意:如果您在 Mac 上访问此页面,您将看到 Mac 的按键绑定。如果您使用 Windows 或 Linux 进行访问,您将看到该平台的密钥。如果您需要其他平台的按键绑定,请将鼠标悬停在您感兴趣的按键上。
键盘快捷键编辑器
Visual Studio Code 使用键盘快捷键编辑器提供丰富且简单的键盘快捷键编辑体验。它列出了所有带或不带键绑定的可用命令,您可以使用可用操作轻松更改/删除/重置其键绑定。它的顶部还有一个搜索框,可以帮助您查找命令或键绑定。您可以通过转到File > Preferences > Keyboard Shortcuts下的菜单来打开此编辑器。
最重要的是,您可以根据键盘布局查看键绑定。例如,当布局更改为德语时,美式键盘布局中的键绑定Cmd+\将显示为Ctrl+Shift+Alt+Cmd+7 。输入键绑定的对话框将根据您的键盘布局分配正确且所需的键绑定。
要进行更高级的键盘快捷键自定义,请阅读高级自定义。
键盘映射扩展
键盘快捷键对于生产力至关重要,而改变键盘习惯可能很困难。为了帮助解决此问题,“文件” > “首选项” > “从...迁移键盘快捷键”会显示流行的键盘映射扩展列表。这些扩展修改 VS Code 快捷键以匹配其他编辑器的快捷键,因此您无需学习新的键盘快捷键。市场中还有一个键盘映射类别的扩展。
提示:单击上面的扩展程序图块可阅读说明和评论,以决定哪个扩展程序最适合您。在市场中查看更多内容。
键盘快捷键参考
我们还有这些键盘快捷键的可打印版本。帮助>键盘快捷键参考显示适合打印的压缩 PDF 版本,作为简单参考。
以下是三个特定于平台的版本(美国英语键盘)的链接:
检测键绑定冲突
如果您安装了许多扩展或者自定义了键盘快捷键,有时可能会出现键绑定冲突,即同一键盘快捷键映射到多个命令。这可能会导致令人困惑的行为,特别是当您在编辑器中移动时不同的键绑定进入和超出范围时。
键盘快捷键编辑器有一个上下文菜单命令显示相同的键绑定,它将根据键盘快捷键过滤键绑定以显示冲突。
选择一个您认为过载的键绑定命令,您可以查看是否定义了多个命令、键绑定的来源以及它们何时处于活动状态。
按键绑定故障排除
要解决按键绑定问题,您可以执行命令Developer: Toggle Keyboard Shortcuts Troubleshooting。这将激活已调度键盘快捷键的日志记录,并将打开带有相应日志文件的输出面板。
然后,您可以按所需的键绑定并检查 VS Code 检测到的键盘快捷键以及调用的命令。
例如,当cmd+/
在 macOS 上按下代码编辑器时,日志输出将为:
[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
key ( /
),并作为 进行调度meta+[Slash]
。有两个映射的键绑定条目meta+[Slash]
,匹配的一个是用于 command 的editor.action.commentLine
,它具有when
条件editorTextFocus && !editorReadonly
并且是一个内置的键绑定条目。
查看修改后的键绑定
您可以使用“更多操作” ( ... ) 菜单中的“显示用户键绑定”命令在键盘快捷键编辑器中查看 VS Code 中任何用户修改的键盘快捷键。这会将过滤器应用到键盘快捷键编辑器(源为“用户”)。@source:user
高级定制
VS Code 中的所有键盘快捷键都可以通过该文件进行自定义keybindings.json
。
- 要通过 JSON 文件配置键盘快捷键,请打开键盘快捷键编辑器,然后选择编辑器标题栏右侧的打开键盘快捷键 (JSON)按钮。
- 这将打开您的
keybindings.json
文件,您可以在其中覆盖默认键盘快捷键。
您还可以使用“首选项:打开键盘快捷键 (JSON)”keybindings.json
命令从命令面板 ( ⇧⌘P (Windows、Linux Ctrl+Shift+P ) ) 打开文件。
键盘规则
每条规则包括:
- a
key
描述按下的键。 - a
command
包含要执行的命令的标识符。 - 包含布尔表达式的可选 子句
when
,该表达式将根据当前上下文进行计算。
和弦(两个单独的按键操作)通过用空格分隔两个按键来描述。例如,Ctrl+K Ctrl+C。
当按下某个键时:
- 规则是从下到上评估的。
- 接受第一个匹配的规则( 和
key
) 。when
- 不再处理任何规则。
- 如果找到规则并且有一
command
组规则,则command
执行该规则。
附加keybindings.json
规则在运行时附加到默认规则的底部,从而允许它们覆盖默认规则。该keybindings.json
文件由 VS Code 监视,因此在 VS Code 运行时对其进行编辑将在运行时更新规则。
键盘快捷键调度是通过分析以 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+ |
Windows | Ctrl+、Shift+、Alt+、Win+ |
Linux | Ctrl+、Shift+、Alt+、元+ |
接受以下键:
- f1-f19 , az , 0-9
- ` , - , = , [ , ] , \ , ; , ' , , . _ , /
- 左、上、右、下、上翻页、下翻页、结束、首页
- tab、回车、转义、空格、退格、删除
- 暂停、大写锁定、插入
- numpad0-numpad9、numpad_multiply、numpad_add、numpad_separator
- numpad_减法、numpad_小数、numpad_除法
命令参数
您可以使用参数调用命令。如果您经常对特定文件或文件夹执行相同的操作,这非常有用。您可以添加自定义键盘快捷键来完全执行您想要的操作。
以下是覆盖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` 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
) - `对于
VK_OEM_3
(0xC0
) - [对于
VK_OEM_4
(0xDB
) - \对于
VK_OEM_5
(0xDC
) - ]对于
VK_OEM_6
(0xDD
) - '对于
VK_OEM_7
(0xDE
) - ETC。
不同的键盘布局通常会重新定位上述虚拟键或更改按下这些虚拟键时产生的字符。当使用与标准美国不同的键盘布局时,Visual Studio Code 会执行以下操作:
所有键绑定均使用当前系统的键盘布局在 UI 中呈现。例如,Split Editor
当使用法语(法国)键盘布局时,现在呈现为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]、[数字 0]-[数字 9]
- [反引号]、[减号]、[等于]、[左括号]、[右括号] 、 [反斜杠] 、[分号]、 [引号] 、[逗号] 、 [句号]、[斜杠]
- [向左箭头]、[向上箭头]、[向右箭头]、[向下箭头]、[向上翻页]、[向下翻页]、[结束]、[首页]
- [Tab]、[Enter]、[Escape]、[空格]、[退格]、[删除]
- [暂停]、[大写锁定]、[插入]
- [数字键盘0]-[数字键盘9]、[数字键盘乘法]、[数字键盘加法]、[数字键盘逗号]
- [数字键盘减法]、[数字键盘小数]、[数字键盘除法]
when 子句上下文
VS Code 使您可以通过可选子句精细控制何时启用键绑定when
。如果您的键绑定没有when
子句,则键绑定始终全局可用。子句when
的计算结果为布尔值 true 或 false 以启用键绑定。
VS Code 根据 VS Code UI 中可见和活动的元素设置各种上下文键和特定值。例如,内置的“开始调试”命令具有键盘快捷键F5,仅当有适当的调试器可用(上下文debuggersAvailable
为 true)并且编辑器不处于调试模式(上下文inDebugMode
为 false)时才启用该快捷键:
您还可以直接在默认键绑定 JSON 中查看键绑定的 when 子句(首选项:打开默认键盘快捷键 (JSON)):
{ "key": "f5", "command": "workbench.action.debug.start",
"when": "debuggersAvailable && !inDebugMode" },
条件运算符
对于when子句条件表达式,以下条件运算符对于键绑定很有用:
操作员 | 象征 | 例子 |
---|---|---|
Equality | == |
"editorLangId == typescript" |
Inequality | != |
"resourceExtname != .js" |
Or | || |
"isLinux || isWindows" |
And | && |
"textInputFocus && !editorReadonly" |
Matches | =~ |
"resourceScheme =~ /^untitled$|^file$/" |
您可以在when 子句上下文参考中找到when 子句条件运算符的完整列表。
可用的上下文
您可以在when 子句上下文参考中找到一些可用的when
子句上下文。
该列表并不详尽,您可以通过在键盘快捷键编辑器中搜索和过滤(首选项:打开键盘快捷键)或查看默认键绑定 JSON 文件(首选项:打开默认键盘快捷键 (JSON)when
)来查找其他子句上下文。
用于重构的自定义键绑定
该editor.action.codeAction
命令允许您为特定重构(代码操作)配置键绑定。例如,下面的键绑定会触发Extract 函数重构代码操作:
{
"key": "ctrl+shift+r ctrl+e",
"command": "editor.action.codeAction",
"args": {
"kind": "refactor.extract.function"
}
}
重构主题对此进行了深入介绍,您可以在其中了解不同类型的代码操作以及如何在多个可能的重构情况下确定它们的优先级。
默认键盘快捷键
您可以使用“更多操作” ( ... ) 菜单中的“显示默认键绑定”命令在键盘快捷键编辑器中查看 VS Code 中的所有默认键盘快捷键。这会将过滤器应用到键盘快捷键编辑器(源为“默认”)。@source:default
您可以使用命令Preferences: Open Default Keyboard Shortcuts (JSON)以 JSON 文件形式查看默认键盘快捷键。
注意:以下键是假设标准美国键盘布局呈现的。如果您使用不同的键盘布局,请阅读以下内容。您可以在命令面板(查看->命令面板)或键盘快捷键编辑器(文件>首选项>键盘快捷键)中查看 VS Code 中当前活动的键盘快捷键。
下面包含的一些命令没有默认键盘快捷键,因此显示为未分配,但您可以分配自己的键绑定。
基础编辑
命令 | 钥匙 | 命令编号 |
---|---|---|
Cut line (empty selection) | ⌘X(Windows、Linux Ctrl+X) | editor.action.clipboardCutAction |
Copy line (empty selection) | ⌘C(Windows、Linux Ctrl+C) | editor.action.clipboardCopyAction |
Paste | ⌘V(Windows、Linux Ctrl+V) | editor.action.clipboardPasteAction |
Delete Line | ⇧⌘K(Windows、Linux Ctrl+Shift+K) | editor.action.deleteLines |
Insert Line Below | ⌘Enter(Windows、Linux Ctrl+Enter) | editor.action.insertLineAfter |
Insert Line Above | ⇧⌘Enter(Windows、Linux Ctrl+Shift+Enter) | editor.action.insertLineBefore |
Move Line Down | ⌥↓(Windows、Linux Alt+向下) | editor.action.moveLinesDownAction |
Move Line Up | ⌥↑(Windows、Linux Alt+向上) | editor.action.moveLinesUpAction |
Copy Line Down | ⇧⌥↓ (Windows Shift+Alt+Down , Linux Ctrl+Shift+Alt+Down ) | editor.action.copyLinesDownAction |
Copy Line Up | ⇧⌥↑ (Windows Shift+Alt+向上, Linux Ctrl+Shift+Alt+向上) | editor.action.copyLinesUpAction |
Undo | ⌘Z(Windows、Linux Ctrl+Z) | undo |
Redo | ⇧⌘Z(Windows、Linux Ctrl+Y) | redo |
Add Selection To Next Find Match | ⌘D(Windows、Linux Ctrl+D) | editor.action.addSelectionToNextFindMatch |
Move Last Selection To Next Find Match | ⌘K ⌘D(Windows、Linux Ctrl+K Ctrl+D) | editor.action.moveSelectionToNextFindMatch |
Undo last cursor operation | ⌘U(Windows、Linux Ctrl+U) | cursorUndo |
Insert cursor at end of each line selected | ⇧⌥I(Windows、Linux Shift+Alt+I) | editor.action.insertCursorAtEndOfEachLineSelected |
Select all occurrences of current selection | ⇧⌘L(Windows、Linux Ctrl+Shift+L) | editor.action.selectHighlights |
Select all occurrences of current word | ⌘F2(Windows、Linux Ctrl+F2) | editor.action.changeAll |
Select current line | ⌘L(Windows、Linux Ctrl+L) | expandLineSelection |
Insert Cursor Below | ⌥⌘↓ (Windows Ctrl+Alt+Down , Linux Shift+Alt+Down ) | editor.action.insertCursorBelow |
Insert Cursor Above | ⌥⌘↑(Windows Ctrl+Alt+向上,Linux Shift+Alt+向上) | editor.action.insertCursorAbove |
Jump to matching bracket | ⇧⌘\(Windows、Linux Ctrl+Shift+\) | editor.action.jumpToBracket |
Indent Line | ⌘](Windows、Linux Ctrl+]) | editor.action.indentLines |
Outdent Line | ⌘[(Windows、Linux Ctrl+[) | editor.action.outdentLines |
Go to Beginning of Line | 家 | cursorHome |
Go to End of Line | 结尾 | cursorEnd |
Go to End of File | ⌘↓(Windows、Linux Ctrl+End) | cursorBottom |
Go to Beginning of File | ⌘↑(Windows、Linux Ctrl+Home) | cursorTop |
Scroll Line Down | ⌃PageDown(Windows、Linux Ctrl+Down) | scrollLineDown |
Scroll Line Up | ⌃PageUp(Windows、Linux Ctrl+向上) | scrollLineUp |
Scroll Page Down | ⌘PageDown(Windows、Linux Alt+PageDown) | scrollPageDown |
Scroll Page Up | ⌘PageUp(Windows、Linux Alt+PageUp) | scrollPageUp |
Fold (collapse) region | ⌥⌘[(Windows、Linux Ctrl+Shift+[) | editor.fold |
Unfold (uncollapse) region | ⌥⌘](Windows、Linux Ctrl+Shift+]) | editor.unfold |
Fold (collapse) all subregions | ⌘K ⌘[(Windows、Linux Ctrl+K Ctrl+[) | editor.foldRecursively |
Unfold (uncollapse) all subregions | ⌘K ⌘](Windows、Linux Ctrl+K Ctrl+]) | editor.unfoldRecursively |
Fold (collapse) all regions | ⌘K ⌘0(Windows、Linux Ctrl+K Ctrl+0) | editor.foldAll |
Unfold (uncollapse) all regions | ⌘K ⌘J(Windows、Linux Ctrl+K Ctrl+J) | editor.unfoldAll |
Add Line Comment | ⌘K ⌘C(Windows、Linux Ctrl+K Ctrl+C) | editor.action.addCommentLine |
Remove Line Comment | ⌘K ⌘U(Windows、Linux Ctrl+K Ctrl+U) | editor.action.removeCommentLine |
Toggle Line Comment | ⌘/(Windows、Linux Ctrl+/) | editor.action.commentLine |
Toggle Block Comment | ⇧⌥A(Windows Shift+Alt+A,Linux Ctrl+Shift+A) | editor.action.blockComment |
Find | ⌘F(Windows、Linux Ctrl+F) | actions.find |
Replace | ⌥⌘F(Windows、Linux Ctrl+H) | editor.action.startFindReplaceAction |
Find Next | 进入 | editor.action.nextMatchFindAction |
Find Previous | ⇧Enter(Windows、Linux Shift+Enter) | editor.action.previousMatchFindAction |
Select All Occurrences of Find Match | ⌥Enter(Windows、Linux Alt+Enter) | editor.action.selectAllMatches |
Toggle Find Case Sensitive | ⌥⌘C(Windows、Linux Alt+C) | toggleFindCaseSensitive |
Toggle Find Regex | ⌥⌘R(Windows、Linux Alt+R) | toggleFindRegex |
Toggle Find Whole Word | ⌥⌘W(Windows、Linux Alt+W) | toggleFindWholeWord |
Toggle Use of Tab Key for Setting Focus | ⌃⇧M(Windows、Linux Ctrl+M) | editor.action.toggleTabFocusMode |
Toggle Render Whitespace | toggleRenderWhitespace |
|
Toggle Word Wrap | ⌥Z(Windows、Linux Alt+Z) | editor.action.toggleWordWrap |
丰富的语言编辑
命令 | 钥匙 | 命令编号 |
---|---|---|
Trigger Suggest | ⌃空格键(Windows、Linux Ctrl+空格键) | editor.action.triggerSuggest |
Trigger Parameter Hints | ⇧⌘空格(Windows、Linux Ctrl+Shift+空格) | editor.action.triggerParameterHints |
Format Document | ⇧⌥F(Windows Shift+Alt+F,Linux Ctrl+Shift+I) | editor.action.formatDocument |
Format Selection | ⌘K ⌘F(Windows、Linux Ctrl+K Ctrl+F) | editor.action.formatSelection |
Go to Definition | F12 | editor.action.revealDefinition |
Show Hover | ⌘K ⌘I(Windows、Linux Ctrl+K Ctrl+I) | editor.action.showHover |
Peek Definition | ⌥F12(Windows Alt+F12,Linux Ctrl+Shift+F10) | editor.action.peekDefinition |
Open Definition to the Side | ⌘K F12(Windows、Linux Ctrl+K F12) | editor.action.revealDefinitionAside |
Quick Fix | ⌘。(Windows、Linux Ctrl+。) | editor.action.quickFix |
Go to References | ⇧F12(Windows、Linux Shift+F12) | editor.action.goToReferences |
Rename Symbol | F2 | editor.action.rename |
Replace with Next Value | ⇧⌘。(Windows、Linux Ctrl+Shift+。) | editor.action.inPlaceReplace.down |
Replace with Previous Value | ⇧⌘,(Windows、Linux Ctrl+Shift+,) | editor.action.inPlaceReplace.up |
Expand AST Selection | ⌃⇧⌘→(Windows、Linux Shift+Alt+右) | editor.action.smartSelect.expand |
Shrink AST Selection | ⌃⇧⌘←(Windows、Linux Shift+Alt+左) | editor.action.smartSelect.shrink |
Trim Trailing Whitespace | ⌘K ⌘X(Windows、Linux Ctrl+K Ctrl+X) | editor.action.trimTrailingWhitespace |
Change Language Mode | ⌘KM(Windows、Linux Ctrl+KM) | workbench.action.editor.changeLanguageMode |
导航
命令 | 钥匙 | 命令编号 |
---|---|---|
Show All Symbols | ⌘T(Windows、Linux Ctrl+T) | workbench.action.showAllSymbols |
Go to Line... | ⌃G(Windows、Linux Ctrl+G) | workbench.action.gotoLine |
Go to File..., Quick Open | ⌘P(Windows、Linux Ctrl+P) | workbench.action.quickOpen |
Go to Symbol... | ⇧⌘O(Windows、Linux Ctrl+Shift+O) | workbench.action.gotoSymbol |
Show Problems | ⇧⌘M(Windows、Linux Ctrl+Shift+M) | workbench.actions.view.problems |
Go to Next Error or Warning | F8 | editor.action.marker.nextInFiles |
Go to Previous Error or Warning | ⇧F8(Windows、Linux Shift+F8) | editor.action.marker.prevInFiles |
Show All Commands | ⇧⌘P(Windows、Linux Ctrl+Shift+P)或F1 | workbench.action.showCommands |
Navigate Editor Group History | ⌃Tab(Windows、Linux Ctrl+Tab) | workbench.action.quickOpenPreviousRecentlyUsedEditorInGroup |
Go Back | ⌃-(Windows Alt+向左,Linux Ctrl+Alt+-) | workbench.action.navigateBack |
Go back in Quick Input | ⌃-(Windows Alt+向左,Linux Ctrl+Alt+-) | workbench.action.quickInputBack |
Go Forward | ⌃⇧-(Windows Alt+向右键,Linux Ctrl+Shift+-) | workbench.action.navigateForward |
Focus Breadcrumbs | ⇧⌘; (Windows、Linux Ctrl+Shift+;) | breadcrumbs.focus |
Focus and Select Breadcrumbs | ⇧⌘。(Windows、Linux Ctrl+Shift+。) | breadcrumbs.focusAndSelect |
编辑器/窗口管理
命令 | 钥匙 | 命令编号 |
---|---|---|
New Window | ⇧⌘N(Windows、Linux Ctrl+Shift+N) | workbench.action.newWindow |
Close Window | ⌘W(Windows、Linux Alt+F4) | workbench.action.closeWindow |
Close Editor | ⌘W(Windows、Linux Ctrl+W) | workbench.action.closeActiveEditor |
Close Folder | ⌘KF(Windows、Linux Ctrl+KF) | workbench.action.closeFolder |
Cycle Between Editor Groups | workbench.action.navigateEditorGroups |
|
Split Editor | ⌘\(Windows、Linux Ctrl+\) | workbench.action.splitEditor |
Focus into First Editor Group | ⌘1(Windows、Linux Ctrl+1) | workbench.action.focusFirstEditorGroup |
Focus into Second Editor Group | ⌘2(Windows、Linux Ctrl+2) | workbench.action.focusSecondEditorGroup |
Focus into Third Editor Group | ⌘3(Windows、Linux Ctrl+3) | workbench.action.focusThirdEditorGroup |
Focus into Editor Group on the Left | workbench.action.focusPreviousGroup |
|
Focus into Editor Group on the Right | workbench.action.focusNextGroup |
|
Move Editor Left | ⌘K ⇧⌘←(Windows、Linux Ctrl+Shift+PageUp) | workbench.action.moveEditorLeftInGroup |
Move Editor Right | ⌘K ⇧⌘→(Windows、Linux Ctrl+Shift+PageDown) | workbench.action.moveEditorRightInGroup |
Move Active Editor Group Left | ⌘K ←(Windows、Linux Ctrl+K 左) | workbench.action.moveActiveEditorGroupLeft |
Move Active Editor Group Right | ⌘K →(Windows、Linux Ctrl+K 右) | workbench.action.moveActiveEditorGroupRight |
Move Editor into Next Group | ⌃⌘→(Windows、Linux Ctrl+Alt+右) | workbench.action.moveEditorToNextGroup |
Move Editor into Previous Group | ⌃⌘←(Windows、Linux Ctrl+Alt+左) | workbench.action.moveEditorToPreviousGroup |
文件管理
命令 | 钥匙 | 命令编号 |
---|---|---|
New File | ⌘N(Windows、Linux Ctrl+N) | workbench.action.files.newUntitledFile |
Open File... | ⌘O(Windows、Linux Ctrl+O) | workbench.action.files.openFile |
Save | ⌘S(Windows、Linux Ctrl+S) | workbench.action.files.save |
Save All | ⌥⌘S(Windows Ctrl+KS,Linux) | saveAll |
Save As... | ⇧⌘S(Windows、Linux Ctrl+Shift+S) | workbench.action.files.saveAs |
Close | ⌘W(Windows、Linux Ctrl+W) | workbench.action.closeActiveEditor |
Close Others | ⌥⌘T(Windows、Linux) | workbench.action.closeOtherEditors |
Close Group | ⌘KW(Windows、Linux Ctrl+KW) | workbench.action.closeEditorsInGroup |
Close Other Groups | workbench.action.closeEditorsInOtherGroups |
|
Close Group to Left | workbench.action.closeEditorsToTheLeft |
|
Close Group to Right | workbench.action.closeEditorsToTheRight |
|
Close All | ⌘K ⌘W(Windows、Linux Ctrl+K Ctrl+W) | workbench.action.closeAllEditors |
Reopen Closed Editor | ⇧⌘T(Windows、Linux Ctrl+Shift+T) | workbench.action.reopenClosedEditor |
Keep Open | ⌘K Enter(Windows、Linux Ctrl+K Enter) | workbench.action.keepEditor |
Copy Path of Active File | ⌘KP(Windows、Linux Ctrl+KP) | workbench.action.files.copyPathOfActiveFile |
Reveal Active File in Windows | ⌘KR(Windows、Linux Ctrl+KR) | workbench.action.files.revealActiveFileInWindows |
Show Opened File in New Window | ⌘KO(Windows、Linux Ctrl+KO) | workbench.action.files.showOpenedFileInNewWindow |
Compare Opened File With | workbench.files.action.compareFileWith |
展示
命令 | 钥匙 | 命令编号 |
---|---|---|
Toggle Full Screen | ⌃⌘F(Windows、Linux F11) | workbench.action.toggleFullScreen |
Toggle Zen Mode | ⌘KZ(Windows、Linux Ctrl+KZ) | workbench.action.toggleZenMode |
Leave Zen Mode | 逃生 逃生 | workbench.action.exitZenMode |
Zoom in | ⌘=(Windows、Linux Ctrl+=) | workbench.action.zoomIn |
Zoom out | ⌘-(Windows、Linux Ctrl+-) | workbench.action.zoomOut |
Reset Zoom | ⌘Numpad0(Windows、Linux Ctrl+Numpad0) | workbench.action.zoomReset |
Toggle Sidebar Visibility | ⌘B(Windows、Linux Ctrl+B) | workbench.action.toggleSidebarVisibility |
Show Explorer / Toggle Focus | ⇧⌘E(Windows、Linux Ctrl+Shift+E) | workbench.view.explorer |
Show Search | ⇧⌘F(Windows、Linux Ctrl+Shift+F) | workbench.view.search |
Show Source Control | ⌃⇧G(Windows、Linux Ctrl+Shift+G) | workbench.view.scm |
Show Run | ⇧⌘D(Windows、Linux Ctrl+Shift+D) | workbench.view.debug |
Show Extensions | ⇧⌘X(Windows、Linux Ctrl+Shift+X) | workbench.view.extensions |
Show Output | ⇧⌘U (Windows Ctrl+Shift+U , Linux Ctrl+K Ctrl+H ) | workbench.action.output.toggleOutput |
Quick Open View | ⌃Q(Windows Ctrl+Q,Linux) | workbench.action.quickOpenView |
Open New Command Prompt | ⇧⌘C(Windows、Linux Ctrl+Shift+C) | workbench.action.terminal.openNativeConsole |
Toggle Markdown Preview | ⇧⌘V(Windows、Linux Ctrl+Shift+V) | markdown.showPreview |
Open Preview to the Side | ⌘KV(Windows、Linux Ctrl+KV) | markdown.showPreviewToSide |
Toggle Integrated Terminal | ⌃`(Windows、Linux Ctrl+`) | workbench.action.terminal.toggleTerminal |
搜索
命令 | 钥匙 | 命令编号 |
---|---|---|
Show Search | ⇧⌘F(Windows、Linux Ctrl+Shift+F) | workbench.view.search |
Replace in Files | ⇧⌘H(Windows、Linux Ctrl+Shift+H) | workbench.action.replaceInFiles |
Toggle Match Case | ⌥⌘C(Windows、Linux Alt+C) | toggleSearchCaseSensitive |
Toggle Match Whole Word | ⌥⌘W(Windows、Linux Alt+W) | toggleSearchWholeWord |
Toggle Use Regular Expression | ⌥⌘R(Windows、Linux Alt+R) | toggleSearchRegex |
Toggle Search Details | ⇧⌘J(Windows、Linux Ctrl+Shift+J) | workbench.action.search.toggleQueryDetails |
Focus Next Search Result | F4 | search.action.focusNextSearchResult |
Focus Previous Search Result | ⇧F4(Windows、Linux Shift+F4) | search.action.focusPreviousSearchResult |
Show Next Search Term | ↓(Windows、Linux向下) | history.showNext |
Show Previous Search Term | ↑(Windows、Linux向上) | history.showPrevious |
搜索编辑器
命令 | 钥匙 | 命令编号 |
---|---|---|
Open Results In Editor | ⌘Enter(Windows、Linux Alt+Enter) | search.action.openInEditor |
Focus Search Editor Input | 逃脱 | search.action.focusQueryEditorWidget |
Search Again | ⇧⌘R(Windows、Linux Ctrl+Shift+R) | rerunSearchEditorSearch |
Delete File Results | ⇧⌘退格键(Windows、Linux Ctrl+Shift+退格键) | search.searchEditor.action.deleteFileResults |
优先
命令 | 钥匙 | 命令编号 |
---|---|---|
Open Settings | ⌘,(Windows、Linux Ctrl+,) | workbench.action.openSettings |
Open Workspace Settings | workbench.action.openWorkspaceSettings |
|
Open Keyboard Shortcuts | ⌘K ⌘S(Windows、Linux Ctrl+K Ctrl+S) | workbench.action.openGlobalKeybindings |
Open User Snippets | workbench.action.openSnippets |
|
Select Color Theme | ⌘K ⌘T(Windows、Linux Ctrl+K Ctrl+T) | workbench.action.selectTheme |
Configure Display Language | workbench.action.configureLocale |
调试
命令 | 钥匙 | 命令编号 |
---|---|---|
Toggle Breakpoint | F9 | editor.debug.action.toggleBreakpoint |
Start | F5 | workbench.action.debug.start |
Continue | F5 | workbench.action.debug.continue |
Start (without debugging) | ⌃F5(Windows、Linux Ctrl+F5) | workbench.action.debug.run |
Pause | F6 | workbench.action.debug.pause |
Step Into | F11 | workbench.action.debug.stepInto |
任务
命令 | 钥匙 | 命令编号 |
---|---|---|
Run Build Task | ⇧⌘B(Windows、Linux Ctrl+Shift+B) | workbench.action.tasks.build |
Run Test Task | workbench.action.tasks.test |
扩展
命令 | 钥匙 | 命令编号 |
---|---|---|
Install Extension | workbench.extensions.action.installExtension |
|
Show Installed Extensions | workbench.extensions.action.showInstalledExtensions |
|
Show Outdated Extensions | workbench.extensions.action.listOutdatedExtensions |
|
Show Recommended Extensions | workbench.extensions.action.showRecommendedExtensions |
|
Show Popular Extensions | workbench.extensions.action.showPopularExtensions |
|
Update All Extensions | workbench.extensions.action.updateAllExtensions |
下一步
现在您已经了解了我们的按键绑定支持,下一步是什么......
常见问题
如何找出特定键绑定了哪些命令?
在键盘快捷键编辑器中,您可以过滤特定的击键以查看哪些命令绑定到哪些键。下面您可以看到Ctrl+Shift+P绑定到“显示所有命令”以调出命令面板。
如何为操作添加键绑定,例如,将 Ctrl+D 添加到删除行
在默认键盘快捷键中找到触发操作的规则,并将其修改版本写入您的keybindings.json
文件中:
// 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
:
{ "key": "shift+alt+a", "command": "editor.action.blockComment",
"when": "editorTextFocus && editorLangId == csharp" },
我已经修改了我的按键绑定keybindings.json
;他们为什么不工作?
最常见的问题是文件中的语法错误。否则,请尝试删除该when
子句或选择不同的key
. 不幸的是,目前这是一个反复试验的过程。