VS code-5 Visual Studio代码的键绑定

日期:2018年11月18日 阅读次数:4413 分类:工具类

Visual Studio Code允许您直接从键盘执行大多数任务。此页面列出了默认绑定(键盘快捷键),并介绍了如何更新它们。

注意:如果您在Mac上访问此页面,您将看到Mac的键绑定。如果您使用Windows或Linux访问,您将看到该平台的密钥。如果您需要另一个平台的键绑定,请将鼠标悬停在您感兴趣的键上。

键盘快捷键编辑器

Visual Studio Code使用“ 键盘快捷键”编辑器提供丰富而简单的键盘快捷键编辑体验。它列出了包含和不包含键绑定的所有可用命令,您可以使用可用的操作轻松更改/删除/重置其键绑定。它顶部还有一个搜索框,可帮助您查找命令或键绑定。您可以通过转到文件 > 首选项 > 键盘快捷方式下的菜单打开此编辑器。(代码 > 首选项 > macOS上的键盘快捷键)

键盘快捷键

最重要的是,您可以根据键盘布局查看键绑定。例如,当布局更改为德语时,美式键盘布局中的键绑定Cmd + \将显示为|Ctrl + Shift + Alt + Cmd + 7。输入键绑定的对话框将根据键盘布局分配正确和所需的键绑定。

要进行更高级的键盘快捷键自定义,请阅读高级自定义

键映射扩展

键盘快捷键对提高工作效率至关重要,改变键盘输入习惯可能很困难。为此,“ 文件” > “首选项” >“键映射扩展”会显示常用键盘映射扩展的列表。这些扩展修改了VS Code快捷方式以匹配其他编辑器的快捷方式,因此您无需学习新的键盘快捷方式。市场中还有一个Keymaps扩展类别


VIM
VIM
2.9M
vscodevim
Visual Studio Code的Vim仿真


Sublime Text Keymap ...
Sublime Text Keymap …
837.2K
MS-vscode
将Sublime Text设置和键绑定导入…


Atom键映射
Atom键映射
368.4K
MS-vscode
Visual Studio Code的流行Atom键绑定


Visual Studio键映射
Visual Studio键映射
173.9K
MS-vscode
VS Code的流行Visual Studio键绑定。

提示:点击上方的扩展图块,阅读说明和评论,以确定最适合您的扩展程序。在市场中查看更多内容。

键盘快捷键参考

我们还有这些键盘快捷键的可打印版本。帮助 > 键盘快捷键参考显示适合打印的精简PDF版本作为简单参考。

以下是三个特定于平台的版本的链接:

检测键绑定冲突

如果您安装了许多扩展程序或者已经自定义了键盘快捷键,则有时会出现键绑定冲突,其中相同的键盘快捷键映射到多个命令。这可能会导致令人困惑的行为,尤其是当您在编辑器中移动时,不同的键绑定进入和超出范围。

该键盘快捷键编辑器有一个上下文菜单命令显示了冲突,这将筛选基于键盘快捷键来显示冲突的键绑定。

显示键绑定冲突菜单

选择一个您认为过载的键绑定命令,您可以看到是否定义了多个命令,键绑定的来源以及它们何时处于活动状态。

显示键绑定冲突结果

高级定制

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

  • 要按照您希望的方式配置键盘快捷键,请打开“ 键盘快捷键”编辑器并单击该链接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描述按下的键。
  • command包含要执行的命令的标识符。
  • 包含布尔表达式的可选 when子句,将根据当前上下文进行求值。

通过用空格分隔两个按键来描述和弦(两个单独的按键动作)。例如,按下|Ctrl + K |Ctrl + C键

按下某个键时:

  • 规则从下到上进行评估。
  • 接受第一条匹配的规则,包括key和匹配的规则when
  • 不再处理任何规则。
  • 如果找到规则并且有一个command集合,command则执行该规则。

附加keybindings.json规则在运行时附加到默认规则的底部,从而允许它们覆盖默认规则。keybindings.json VS Code会监视该文件,因此在VS Code运行时对其进行编辑将在运行时更新规则。

接受的密钥

key由改性剂和密钥本身的。

接受以下修饰符:

平台 修饰符
macOS Ctrl+, Shift+, Alt+, Cmd+
Windows Ctrl+, Shift+, Alt+, Win+
Linux Ctrl+, Shift+, Alt+, Meta+

接受以下键:

f1-f19,az,0-9
`,- ,=,[,],\,; ,',,,。,/ /
左,向上,向右,向下,PageUp键,PageDown键,结束,回家
选项卡,输入,转义,空格,退格键,删除
pausebreak,CapsLock键,插入
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”添加到文件中,而不是生成默认命令。

有关带参数的命令的更多信息,请参阅复杂命令

删除特定的键绑定规则

您可以编写一个目标是删除特定默认密钥绑定的密钥绑定规则。有了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" }

键盘布局

注意:本节仅涉及键绑定,而不涉及在编辑器中键入。

上面的键是虚拟键的字符串表示,并不一定与按下它们时产生的字符有关。更确切地说:

Reference: Virtual-Key Codes (Windows)
tab for VK_TAB (0x09)
; for VK_OEM_1 (0xBA)
= for VK_OEM_PLUS (0xBB)
, for VK_OEM_COMMA (0xBC)
- for VK_OEM_MINUS (0xBD)
. for VK_OEM_PERIOD (0xBE)
/ for VK_OEM_2 (0xBF)
` for VK_OEM_3 (0xC0)
[ for VK_OEM_4 (0xDB)
\ for VK_OEM_5 (0xDC)
] for VK_OEM_6 (0xDD)
' for VK_OEM_7 (0xDE)
etc.

不同的键盘布局通常会重新定位上面的虚拟键或更改按下它们时产生的字符。使用与标准美国不同的键盘布局时,Visual Studio代码执行以下操作:

使用当前系统的键盘布局在UI中呈现所有键绑定。例如,Split Editor使用法语(法国)时,键盘布局现在呈现为|Ctrl + *

渲染键绑定

在编辑时keybindings.json,VS Code会突出显示误导性的键绑定 – 那些在文件中表示的字符与在标准美国键盘布局下生成的字符,但需要在当前系统的键盘布局下按下具有不同标签的键。例如,以下是使用法语(法国)键盘布局时默认键盘快捷键规则的外观:

keybindings.json指导

还有一个小部件可以在编辑时帮助输入键绑定规则keybindings.json。要启动定义键绑定控件,请按|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’子句背景

通过可选when子句,VS Code可以很好地控制何时启用密钥绑定。如果您的密钥绑定没有when子句,则密钥绑定始终全局可用。

下面是一些可能的when子句上下文,它们计算为布尔值true / false

上下文名称 真为true时
编辑器背景
editorFocus 编辑器具有焦点,文本或小部件。
editorTextFocus 编辑器中的文本具有焦点(光标闪烁)。
textInputFocus 任何编辑器都有焦点(常规编辑器,调试REPL等)。
inputFocus 任何文本输入区域都有焦点(编辑器或文本框)。
editorHasSelection 在编辑器中选择文本。
editorHasMultipleSelections 选择多个文本区域(多个光标)。
editorReadOnly 编辑器是只读的。
editorLangId 当编辑器的相关语言ID匹配时为True 。示例:"editorLangId == typescript"
isInDiffEditor 活动编辑器是差异编辑器。
操作系统上下文
isLinux 操作系统是Linux时是真的
isMac 操作系统是macOS时为真
isWindows 操作系统是Windows时为True
isWeb 从Web访问编辑器时为True
列出上下文
listFocus 列表有焦点。
listSupportsMultiselect 列表支持多选。
listHasSelectionOrFocus 列表具有选择或焦点。
listDoubleSelection 列表可以选择2个元素。
listMultiSelection 列表包含多个元素的选择。
列出上下文
listFocus 列表有焦点。
listSupportsMultiselect 列表支持多选。
listHasSelectionOrFocus 列表具有选择或焦点。
listDoubleSelection 列表可以选择2个元素。
listMultiSelection 列表包含多个元素的选择。
模式背景
inDebugMode 调试会话正在运行。
debugType 调试类型匹配时为True。示例:"debugType == 'node'"
inSnippetMode 编辑器处于代码段模式。
inQuickOpen Quick Open下拉列表具有焦点。
资源背景
resourceScheme 当资源Uri方案匹配时为True。例:"resourceScheme == file"
resourceFilename 当Explorer或编辑器文件名匹配时为True。例:"resourceFilename == gulpfile.js"
resourceExtname 当Explorer或编辑器文件扩展名匹配时为True。例:"resourceExtname == .js"
resourceLangId 当Explorer或编辑器标题语言Id匹配时为True 。例:"resourceLangId == markdown"
isFileSystemResource 当Explorer或编辑器文件是可以从文件系统提供程序处理的文件系统资源时为True
resourceSet 设置资源管理器或编辑器文件时为True
resource 资源管理器或编辑器文件的完整Uri
资源管理器上下文
explorerViewletVisible 如果Explorer视图可见,则为True。
explorerViewletFocus 如果Explorer视图具有键盘焦点,则为True。
filesExplorerFocus 如果文件资源管理器部分具有键盘焦点,
openEditorsFocus 如果OPEN EDITORS部分具有键盘焦点,则为True。
explorerResourceIsFolder 如果在资源管理器中选择了文件夹,则为True。
编辑器小部件上下文
findWidgetVisible 编辑器查找窗口小部件可见
suggestWidgetVisible 建议小部件(IntelliSense)可见。
suggestWidgetMultipleSuggestions 显示多个建议。
renameInputVisible 重命名输入文本框是可见的。
referenceSearchVisible Peek References peek窗口打开。
inReferenceSearchEditor Peek References peek窗口编辑器具有焦点。
config.editor.stablePeek 保持窥视编辑器打开(通过editor.stablePeek设置控制)。
quickFixWidgetVisible 快速修复小部件可见。
parameterHintsVisible 参数提示可见(通过editor.parameterHints.enabled设置控制)。
parameterHintsMultipleSignatures 显示多个参数提示。
集成终端上下文
terminalFocus 集成终端具有重点。
terminalIsOpen 集成终端开放。
全局UI上下文
notificationFocus 通知具有键盘焦点。
notificationCenterVisible VS Code右下方显示通知中心。
notificationToastsVisible 在VS Code的右下角可以看到通知Toast。
searchViewletVisible 搜索视图已打开。
sideBarVisible 侧栏显示。
sideBarFocus Side Bar有焦点。
panelFocus 小组有重点。
inZenMode 窗口处于Zen模式。
isCenteredLayout 编辑器处于居中布局模式。
inDebugRepl 焦点在Debug Console REPL中。
workspaceFolderCount 工作区文件夹数。
replaceActive 搜索视图替换文本框已打开。
view 视图标识符匹配时为True。示例:”view == myViewsExplorerID”。
viewItem 当viewItem上下文匹配时为true。示例: “viewItem == someContextValue”。
isFullscreen 窗口处于全屏状态时为True。
focusedView 当前焦点视图的标识符。
canNavigateBack 如果可以返回,则为True。
canNavigateForward 如果可以向前导航,则为True。
canNavigateToLastEditLocation 如果可以导航到最后一个编辑位置,则为True。
全局编辑器UI上下文
textCompareEditorVisible 至少有一个diff(比较)编辑器可见。
textCompareEditorActive diff(比较)编辑器处于活动状态。
editorIsOpen 如果一个编辑器打开,则为True。
groupActiveEditorDirty 当组中的活动编辑器变脏时为True。
groupEditorsCount 组中的编辑者数量。
activeEditorGroupEmpty 如果活动编辑器组没有编辑器,则为True。
activeEditorGroupIndex 组中活动编辑器的索引(以…开头1)。
activeEditorGroupLast 当组中的活动编辑器是最后一个时,为True。
multipleEditorGroups 当存在多个编辑器组时为True。
editorPinned 当组中的活动编辑器固定时(不在预览模式下),则为True。
activeEditor 组中活动编辑器的标识符。
配置设置上下文
config.editor.minimap.enabled 设置为时editor.minimap.enabled为真true

注意:您可以使用任何用户或工作空间设置来评估带有前缀的布尔值"config."

上面的列表并不详尽,您可能会when在默认键盘快捷键中看到特定VS Code UI的某些上下文。

主动/聚焦视图或面板’何时’子句上下文

您可以使用仅在特定视图或面板可见时启用的键绑定。

上下文名称 真的时候
activeViewlet 视图可见时为真。例:"activeViewlet == 'workbench.view.explorer'"
activePanel 面板可见时为真。例:"activePanel == 'workbench.panel.output'"
focusedView 当视图聚焦时为真。例:"focusedView == myViewsExplorerID

查看标识符:

  • workbench.view.explorer – 文件资源管理器
  • workbench.view.search – 搜索
  • workbench.view.scm – 源代码管理
  • workbench.view.debug – 调试
  • workbench.view.extensions – 扩展

面板标识符:

  • workbench.panel.markers – 问题
  • workbench.panel.output – 输出
  • workbench.panel.repl – 调试控制台
  • workbench.panel.terminal – 集成终端
  • workbench.panel.comments – 评论
  • workbench.view.search – 搜索何时search.location设置为panel

如果您想要仅在特定视图或面板具有焦点时启用的键绑定,请使用sideBarFocuspanelFocusactiveViewlet或组合使用activiewFocus

例如,仅当文件资源管理器具有焦点时,下面的when子句才为真:

"sideBarFocus && activeViewlet == 'workbench.view.explorer'"

key-when when子句操作符

条款有一个键值对运算符when。该表达式key =~ value将右侧视为正则表达式以匹配左侧。例如,要为所有Docker文件提供上下文菜单项,可以使用:

"when": "resourceFilename =~ /docker/"

重构的自定义键绑定

editor.action.codeAction命令允许您为特定的重构(代码操作)配置键绑定。例如,下面的键绑定会触发Extract函数重构代码操作:

{
  "key": "ctrl+shift+r ctrl+e",
  "command": "editor.action.codeAction",
  "args": {
    "kind": "refactor.extract.function"
  }
}

这在Refactoring主题中有详细介绍,您可以在其中了解不同类型的代码操作以及在多个可能的重构情况下如何对它们进行优先级排序。

默认键盘快捷键

注意:假设标准的美式键盘布局,将呈现以下键。如果您使用不同的键盘布局,请阅读以下内容。您可以在命令选项板(视图 - > 命令选项板)或键盘快捷键编辑器(文件 > 首选项 > 键盘快捷键)中查看 VS代码中当前活动的键盘快捷键。

 

基本编辑

命令 命令ID
Ctrl + X 剪切线(空选) editor.action.clipboardCutAction
Ctrl + C 复制行(空选) editor.action.clipboardCopyAction
Ctrl + Shift + K 删除行 editor.action.deleteLines
Ctrl + Enter 在下面插入行 editor.action.insertLineAfter
Ctrl + Shift + Enter 在上方插入线条 editor.action.insertLineBefore
Alt + Down 向下移动线 editor.action.moveLinesDownAction
Alt + Up 向上移动 editor.action.moveLinesUpAction
Shift + Alt + Down 复制线下 editor.action.copyLinesDownAction
Shift + Alt + Up 复制排队 editor.action.copyLinesUpAction
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 + Down 在下面插入光标 editor.action.insertCursorBelow
Ctrl + Alt + Up 在上方插入光标 editor.action.insertCursorAbove
Ctrl + Shift + \ 跳转到匹配的括号 editor.action.jumpToBracket
Ctrl +] 缩进线 editor.action.indentLines
Ctrl + [ Outdent Line editor.action.outdentLines
Home 转到行首 cursorHome
End 转到行尾 cursorEnd
Ctrl + END 转到文件结尾 cursorBottom
Ctrl + Home 转到文件的开头 cursorTop
Ctrl + Down 向下滚动线 scrollLineDown
Ctrl + Up 滚动排队 scrollLineUp
Alt + PageDown 向下滚动页面 scrollPageDown
Alt + PageUp 向上滚动页面 scrollPageUp
Ctrl + Shift + [ 折叠(折叠)区域 editor.fold
Ctrl + SHIFT +] 展开(uncollapse)区域 editor.unfold
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
Enter 找下一个 editor.action.nextMatchFindAction
Shift + Enter 找到上一个 editor.action.previousMatchFindAction
Alt + Enter 选择查找匹配的所有出现次数 editor.action.selectAllMatches
Alt + C 切换查找区分大小写 toggleFindCaseSensitive
ALT + R 切换查找正则表达式 toggleFindRegex
ALT + W 切换查找整个单词 toggleFindWholeWord
Ctrl + M 切换使用Tab键设置焦点 editor.action.toggleTabFocusMode
unassigned 切换渲染空白 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.referenceSearch.trigger
F2 重命名符号 editor.action.rename
Ctrl + Shift +。 替换为下一个值 editor.action.inPlaceReplace.down
Ctrl + Shift +, 替换为以前的值 editor.action.inPlaceReplace.up
Shift + Alt +右 展开AST选择 editor.action.smartSelect.expand
Shift + Alt +左 收缩AST选择 editor.action.smartSelect.shrink
Ctrl + K Ctrl + X. 修剪尾随空格 editor.action.trimTrailingWhitespace
Ctrl + KM 更改语言模式 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 + Shift + Tab键 导航编辑器组历史记录 workbench.action.openPreviousRecentlyUsedEditorInGroup
Alt +左 回去 workbench.action.navigateBack
Alt +左 返回快速输入 workbench.action.quickInputBack
Alt +右 直走 workbench.action.navigateForward

编辑/窗口管理

命令 命令ID
Ctrl + Shift + N 新窗户 workbench.action.newWindow
Ctrl + W 关闭窗口 workbench.action.closeWindow
Ctrl + F4 关闭编辑器 workbench.action.closeActiveEditor
Ctrl + KF 关闭文件夹 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右 将Active Editor Group右移 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 + KS 保存全部 workbench.action.files.saveAll
Ctrl + Shift + S 另存为… workbench.action.files.saveAs
Ctrl + F4 workbench.action.closeActiveEditor
未分配 关闭他人 workbench.action.closeOtherEditors
Ctrl + KW 关闭组 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 Enter 保持开放 workbench.action.keepEditor
Ctrl + Tab 打开下一步 workbench.action.openNextRecentlyUsedEditorInGroup
Ctrl + Shift + Tab 打开上一个 workbench.action.openPreviousRecentlyUsedEditorInGroup
Ctrl + KP 复制活动文件的路径 workbench.action.files.copyPathOfActiveFile
Ctrl + KR 在Windows中显示活动文件 workbench.action.files.revealActiveFileInWindows
Ctrl + KO 在新窗口中显示打开的文件 workbench.action.files.showOpenedFileInNewWindow
未分配 比较打开的文件 workbench.files.action.compareFileWith

显示

命令 命令ID
F11 切换全屏 workbench.action.toggleFullScreen
Ctrl + KZ 切换Zen模式 workbench.action.toggleZenMode
Escape Escape 离开Zen Mode workbench.action.exitZenMode
CTRL + = 放大 workbench.action.zoomIn
Ctrl + – 缩小 workbench.action.zoomOut
Ctrl + NUMPAD0 重置缩放 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
CTRL + SHIFT + V 切换Markdown预览 markdown.showPreview
Ctrl + KV 打开侧面预览 markdown.showPreviewToSide
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
F4 关注下一个搜索结果 search.action.focusNextSearchResult
Shift + F4 关注上一个搜索结果 search.action.focusPreviousSearchResult
Up 显示下一个搜索字词 history.showNext
Down 显示上一个搜索词 history.showPrevious

喜好

命令 命令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
Shift + F11 走出去 workbench.action.debug.stepOut
F10 跳过 workbench.action.debug.stepOver
Shift + F5 停止 workbench.action.debug.stop
Ctrl + K Ctrl + I. 显示悬停 editor.debug.action.showDebugHover

任务

命令 命令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

下一步

既然您了解了我们的Key绑定支持,那么下一步是什么……

  • 语言支持 - 我们的好,更好,最好的语言网格,看看你能期待什么
  • 调试 - 这是VS Code真正发挥作用的地方
  • Node.js - 带有示例应用程序的端到端Node.js场景

常见问题

如何找出绑定到特定键的命令?

在默认键盘快捷键中,Quick Outline|Ctrl + Shift + O打开

键绑定快速概述

如何为动作添加键绑定?例如,将|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。不幸的是,在这一点上,这是一个试错过程。

 
文章来源:

https://code.visualstudio.com/docs/getstarted/keybindings

文章标签: