visual studio code 键盘快捷键参考

原文


引用

键盘快捷键参考

这些键盘快捷键的可打印版本链接:

  • windows

  • macOS

  • Linux

基本编辑

注意:以下是使用标准美式键盘布局的.如果您使用不同的键盘布局,请阅读这里 .

命令 命令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 + I 选择当前行 expandLineSelection
Ctrl + Alt + Down 在下面插入光标 editor.action.insertCursorBelow
Ctrl + Alt + Up 在上面插入光标 editor.action.insertCursorAbove
Ctrl + Shift + \ 跳转到匹配括号 editor.action.jumpToBracket
Ctrl + ] 缩进线 editor.action.indentLines
Ctrl + [ Outedent线 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 +] 展开(uncollapse)所有子区域 editor.unfoldRecursively
Ctrl + K Ctrl + 0 折叠(折叠)所有区域 editor.foldAll
Ctrl + K Ctrl + J 展开(uncollapse)所有地区 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
F3 找下一个 editor.action.nextMatchFindAction
Shift + F3 查找上一个 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 + space 触发建议 editor.action.triggerSuggest
Ctrl + Shift + space 触发器参数提示 editor.action.triggerParameterHints
Shift + Alt + F 格式文档 editor.action.formatDocument
Ctrl + K Ctrl + F 格式选择 editor.action.formatSelection
F12 转到定义 editor.action.goToDeclaration
Alt + F12 Peek定义 editor.action.previewDeclaration
Ctrl + K F12 打开定义到边 editor.action.openDeclarationToTheSide
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 + Right 展开AST选择 editor.action.smartSelect.grow
Shift + Alt + left 收缩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.next
Shift + F8 转到上一个错误或警告 editor.action.marker.prev
Ctrl + Shift + P 显示所有命令 workbench.action.showCommands
Ctrl + Shift + Tab 导航编辑器组历史记录 workbench.action.openPreviousRecentlyUsedEditorInGroup
Alt + Left 回去 workbench.action.navigateBack
Alt + Right 前进 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
unassigned 编辑器组之间循环 workbench.action.navigateEditorGroups
Ctrl + \ 拆分编辑器 workbench.action.splitEditor
Ctrl + 1 聚焦到左编辑器组 workbench.action.focusFirstEditorGroup
Ctrl + 2 专注于侧编辑器组 workbench.action.focusSecondEditorGroup
Ctrl + 3 专注于右侧编辑器组 workbench.action.focusThirdEditorGroup
Ctrl + K Ctrl + Left 专注于左侧的编辑小组 workbench.action.focusPreviousGroup
Ctrl + K Ctrl + Right 专注于编辑组权利 workbench.action.focusNextGroup
Ctrl + Shift + PageUp 将编辑器左移 workbench.action.moveEditorLeftInGroup
Ctrl + Shift + PageDown 移动编辑器 workbench.action.moveEditorRightInGroup
Ctrl +K Left 将活动编辑器组向左移动 workbench.action.moveActiveEditorGroupLeft
Ctrl +K Right 将活动编辑器组移到右侧 workbench.action.moveActiveEditorGroupRight

文件管理

命令 命令ID
Ctrl + N 新文件 workbench.action.files.newUntitledFile
Ctrl + O 打开文件... workbench.action.files.openFile
Ctrl + S 保存 workbench.action.files.save
unassigned 保存全部 workbench.action.files.saveAll
Ctrl + Shift + S 另存为... workbench.action.files.saveAs
Ctrl + F4 workbench.action.closeActiveEditor
unassigned 关闭其他 workbench.action.closeOtherEditors
Ctrl + KW 关闭组 workbench.action.closeEditorsInGroup
unassigned 关闭其他组 workbench.action.closeEditorsInOtherGroups
unassigned 关闭组向左 workbench.action.closeEditorsToTheLeft
unassigned 关闭组向右 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
unassigned 比较打开的文件与 workbench.files.action.compareFileWith

显示


   
Escape Escape 离开禅模式 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 + D 显示调试 workbench.view.debug
Ctrl + Shift + G 显示Git workbench.view.git
Ctrl + Shift + X 显示扩展名 workbench.view.extensions
Ctrl + Shift + U 显示输出 workbench.action.output.toggleOutput
Ctrl + Q 快速打开视图 workbench.action.quickOpenView
Ctrl + Shift + F 显示搜索 workbench.view.search
Ctrl + Shift + H 在文件中替换 workbench.action.replaceInFiles
Ctrl + Shift + J 切换搜索详情 workbench.action.search.toggleQueryDetails
Ctrl + Shift + C 打开新命令提示符 workbench.action.terminal.openNativeConsole
Ctrl + Shift + V 切换Markdown预览 markdown.showPreview
Ctrl + KV 打开预览到边 markdown.showPreviewToSide
Ctrl +` 切换集成终端 workbench.action.terminal.toggleTerminal

优先

命令 命令ID
未分配 打开用户设置 workbench.action.openGlobalSettings
未分配 打开工作区设置 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.action.showHover

任务

命令 命令ID
Ctrl + Shift + B 运行构建任务 workbench.action.tasks.build
未分配 运行测试任务 workbench.action.tasks.test

扩展

命令 命令ID
未分配 安装扩展 workbench.extensions.action.installExtension
未分配 显示已安装的扩展 workbench.extensions.action.showInstalledExtensions
未分配 显示过期的扩展 workbench.extensions.action.listOutdatedExtensions
未分配 显示推荐的扩展程序 workbench.extensions.action.showRecommendedExtensions
未分配 显示热门扩展 workbench.extensions.action.showPopularExtensions
未分配 更新所有扩展 workbench.extensions.action.updateAllExtensions

自定义快捷键

VS代码中的所有键盘快捷键都可以通过User/keybindings.json文件进行定制.

  • 要按您想要的方式配置键盘快捷键,请转到文件 > 首选项 > 键盘快捷键下的菜单.代码 > 首选项 > Mac上的键盘快捷键)

  • 这将打开Default Keyboard Shortcuts左侧和您的User/keybindings.json文件,您可以覆盖右侧的默认绑定.

  • 上面的列表并不详尽.更多命令可以在“其他可用命令”中列出Default Keyboard Shortcuts.

键盘规则

键盘快捷键分派通过分析以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" },


单独的按键动作).例如:ctrl + k ctrl + c.

当按下一个键:

  • 规则从底部顶部进行评估.

  • 接受匹配的第一个规则,包括keywhen.

  • 不再处理任何规则.

  • 如果找到规则并且具有command集合,command则执行.

附加User/keybindings.json规则在运行时附加到默认规则的底部,从而允许它们覆盖默认规则.User/keybindings.json文件由VS代码监视,所以在VS代码运行时进行编辑将在运行时更新规则.

接受的键

key是由改性剂和密钥本身.

接受以下修饰符:

平台 修饰符
苹果电脑 ctrl +,shift +,alt +,cmd +
视窗 ctrl +,shift +,alt +,win +
Linux ctrl +,shift +,alt +,meta +

接受以下键:

  • f1-f19,az,0-9

  • `,,=,[,],\,,,,,.,/

  • ,,,,pageup,pagedown,结束,首页

  • 选项卡,输入,转义,空格,退格,删除

  • pausebreak,capslock,insert

  • numpad0-numpad9,numpad_multiply,numpad_add,nupad_separator

  • numpad_subtract,numpad_decimal,numpad_divide

when 子句

VS代码使您可以精确控制通过可选when子句启用键绑定的时间.如果密钥绑定没有when子句,则密钥绑定始终是全局可用的.

下面是一些可能的when子句上下文,其值为Boolean true / false:

上下文名称 True时
编辑器上下文  
编辑器焦点 编辑器有焦点,文本或小部件.
editorTextFocus 编辑器中的文本具有焦点(光标闪烁).
editorHasSelection 在编辑器中选择文本.
editorHasMultipleSelections 选择多个文本区域(多个光标).
editorReadOnly 编辑器是只读的.
editorLangId 编辑器的关联语言ID匹配时为true.示例:"editorLangId == typescript".
textCompareEditorVisible Diff(比较)视图是可见的.
模式上下文  
inDebugMode 调试会话正在运行.
inSnippetMode 编辑器处于代码段模式.
inQuickOpen 快速打开下拉列表具有焦点.
编辑器小部件上下文  
findWidgetVisible 编辑器查找窗口小部件可见.
suggestWidgetVisible 建议小部件(IntelliSense)是可见的.
suggestWidgetMultipleSuggestions 显示多个建议.
renameInputVisible 重命名输入文本框是可见的.
referenceSearchVisible 查找所有参考文献peek窗口打开.
inReferenceSearchEditor “查找全部引用”窗口编辑器具有焦点.
config.editor.stablePeek 保持打开编辑器(由editor.stablePeek设置控制).
quickFixWidgetVisible 快速修复小部件可见.
parameterHintsVisible 参数提示是可见的(由editor.parameterHints设置控制).
parameterHintsMultipleSignatures 显示多个参数提示.
集成终端上下文  
terminalFocus 集成终端具有焦点.
全局UI上下文  
resourceLangId 当资源管理器或编辑器标题语言标识匹配时为True.例:"resourceLangId == markdown"
globalMessageVisible 消息框在VS代码的顶部可见.
searchViewletVisible 搜索视图已打开.
replaceActive 搜索视图替换文本框已打开.

以上列表并不详尽,您可能会看到when特定VS代码UI的一些上下文Default Keyboard Shortcuts.

删除特定的键绑定规则

您可以编写一个键绑定规则,目标是删除特定的默认键绑定.有了keybindings.json,总是可以重新定义VS代码的所有键绑定,但是可能很难做一个小的调整,特别是在重载的键,如TabEscape.要删除特定的键绑定,只需添加一个-command和,规则将是一个删除规则.

这里是一个例子:

// In Default Keyboard Shortcuts
...
{ "key": "tab", "command": "tab", "when": ... },
{ "key": "tab", "command": "editor.emmet.action.expandAbbreviation", "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": "-editor.emmet.action.expandAbbreviation" }


键盘布局

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

上面的键是虚拟键的字符串表示,并且当它们被按下时不必与所产生的字符相关.更确切地说:

  • 参考:https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85)

  • 标签VK_TAB0x09

  • for VK_OEM_10xBA

  • = for VK_OEM_PLUS0xBB

  • , for VK_OEM_COMMA0xBC

  • - for VK_OEM_MINUS0xBD

  • .for VK_OEM_PERIOD0xBE

  • / for VK_OEM_20xBF

  • ` for VK_OEM_30xC0

  • [ for VK_OEM_40xDB

  • \ for VK_OEM_50xDC

  • ] for VK_OEM_60xDD

  • ' for VK_OEM_70xDE

  • 等等

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

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

编辑keybindings.json时,VS代码突出显示误导键绑定 - 在文件中使用在标准美式键盘布局下生成的字符表示的键,但是需要在当前系统的键盘布局下按下具有不同标签的键.例如,下面是Default keybindings使用法语(法国)键盘布局时规则的外观:

还有一个小部件,在编辑时帮助输入密钥绑定规则keybindings.json.要启动定义按键绑定控件,请按Ctrl + K按Ctrl + K.该窗口小部件监听按键并在文本框及其下面呈现序列化的JSON表示,VS代码在您当前的键盘布局下检测到的键.输入所需的组合键后,您可以按Enter键,然后插入规则片段.

注意: Visual Studio代码在启动时检测您当前的键盘布局,然后缓存此信息.为了获得良好的体验,我们建议您在更改键盘布局时重新启动VS代码.

下一步

现在你知道我们的Key绑定支持,接下来是什么...

  • 自定义 - 按需要配置代码 - 主题,设置等

  • 语言支持 - 我们的好,更好,最好的语言网格,看看你可以期望什么

  • 调试 - 这是VS代码真正闪耀

  • Node.js - 使用示例应用程序的端到端Node.js场景

常见问题

问:如何找出什么命令绑定到特定的键?

A:在默认快捷键中Quick Outline,按Ctrl + Shift + O打开

问:如何向操作添加键绑定?例如,添加Ctrl + D以删除行

A:在默认键盘快捷键中找到触发操作的规则,并在User/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" },


问:如何仅为某些文件类型添加键绑定?

A:editorLangId在您的when子句中使用上下文键

{ "key": "shift+alt+a",           "command": "editor.action.blockComment",
                                     "when": "editorTextFocus && editorLangId == csharp" },


问:我修改了我的键绑定User/keybindings.json,为什么他们不工作?

A:最常见的问题是文件中的语法错误.否则,请尝试删除when子句或选择不同的子句key.不幸的是,在这一点上,这是一个试验和错误的过程.

你可能感兴趣的:(笔记)