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 事件针对Slashkey ( /),并作为 进行调度meta+[Slash]。有两个映射的键绑定条目meta+[Slash],匹配的一个是用于 command 的editor.action.commentLine,它具有when条件editorTextFocus && !editorReadonly并且是一个内置的键绑定条目。

查看修改后的键绑定

您可以使用“更多操作” ( ... ) 菜单中的“显示用户键绑定”命令在键盘快捷键编辑器中查看 VS Code 中任何用户修改的键盘快捷键。这会将过滤器应用到键盘快捷键编辑器(为“用户”)。@source:user

默认键盘快捷键

高级定制

VS Code 中的所有键盘快捷键都可以通过该文件进行自定义keybindings.json

  • 要通过 JSON 文件配置键盘快捷键,请打开键盘快捷键编辑器,然后选择编辑器标题栏右侧的打开键盘快捷键 (JSON)按钮。
  • 这将打开您的keybindings.json文件,您可以在其中覆盖默认键盘快捷键

打开键盘快捷键 JSON 按钮

您还可以使用“首选项:打开键盘快捷键 (JSON)”keybindings.json命令从命令面板 ( ⇧⌘P (Windows、Linux Ctrl+Shift+P ) ) 打开文件。

键盘规则

每条规则包括:

  • akey描述按下的键。
  • acommand包含要执行的命令的标识符。
  • 包含布尔表达式的可选 子句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-numpad9numpad_multiplynumpad_addnumpad_separator
  • numpad_减法numpad_小数numpad_除法

命令参数

您可以使用参数调用命令。如果您经常对特定文件或文件夹执行相同的操作,这非常有用。您可以添加自定义键盘快捷键来完全执行您想要的操作。

以下是覆盖Enter键以打印一些文本的示例:

{
  "key": "enter",
  "command": "type",
  "args": { "text": "Hello World" },
  "when": "editorTextFocus"
}

type 命令将接收{"text": "Hello World"}作为其第一个参数,并将“Hello World”添加到文件中,而不是生成默认命令。

有关带参数的命令的更多信息,请参阅内置命令

运行多个命令

可以使用该命令创建一个连续运行多个其他命令的键绑定runCommands

  1. 运行多个不带参数的命令:向下复制当前行,将当前行标记为注释,将光标移动到复制的行
{
  "key": "ctrl+alt+c",
  "command": "runCommands",
  "args": {
    "commands": [
      "editor.action.copyLinesDownAction",
      "cursorUp",
      "editor.action.addCommentLine",
      "cursorDown"
    ]
  }
},
  1. 还可以将参数传递给命令:创建一个新的无标题 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 的所有键绑定,但进行小的调整可能很困难,特别是围绕重载的键,例如TabEscape。要删除特定的键绑定,请添加 ,-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 指导

还有一个小部件可以帮助在编辑时输入按键绑定规则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)时才启用该快捷键:

在 Keyboard Shorts 编辑器中开始调试 when 子句

您还可以直接在默认键绑定 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+PF1 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

下一步

现在您已经了解了我们的按键绑定支持,下一步是什么......

  • 语言支持- 我们的 Good、Better、Best 语言网格可满足您的期望
  • 调试——这是 VS Code 真正的亮点
  • Node.js - 带有示例应用程序的端到端 Node.js 场景

常见问题

如何找出特定键绑定了哪些命令?

键盘快捷键编辑器中,您可以过滤特定的击键以查看哪些命令绑定到哪些键。下面您可以看到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. 不幸的是,目前这是一个反复试验的过程。