目录

Mac VSCode 快捷键

VScode 内置的快捷键之多让人瞠目结舌,作为一名卖弄风骚的 VSCoder 把常用的一些快捷键手到擒来也并非难事。相声讲究学说逗唱,编辑器自然是增删改查,加之长年吃符号的亏上字母的当硬是逼着我学会了复制粘贴大法,在此法的怂恿之下我又忍不住折腾起来,一开始没觉着,一段时间以后竟神不知鬼不觉的提高了一下码字效率,窃喜。当然这也没什么,只不过刻意练习了几个快捷键而已。

定制快捷键

修改某个动作快捷键

Cmd+K Cmd+S 跳转到快捷键配置页面,找到要改的命令快捷键,选中后按右键或者 Cmd+K Cmd+K 在弹出框中输入自定义的快捷键回车即可。

https://inotes.oss-cn-beijing.aliyuncs.com/vscode/vscode-modify-keyboard.jpg

定制某个动作的快捷键

打开 keyboard.json 文件,在其中输入如下配置保存即可。

1
2
3
4
5
6
7
8
// 比如将 Cmd+D 快捷键修改为添加下一个匹配项
[
  {
    "key": "cmd+d",
    "command": "editor.action.addSelectionToNextFindMatch",
    "when": "editorFocus"
  }
]

我的快捷键

部分快捷键本人根据自己的使用习惯进行了定制。

Code

Shortcut KeyCNENDescription
Cmd+,设置Settings
Shift+Cmd+X扩展
Cmd+K Cmd+S键盘快捷方式
Cmd+K Cmd+M按键映射
Cmd+K Cmd+T颜色主题
Cmd+H隐藏 VSCode
Alt+Cmd+H隐藏 VSCode
Cmd+Q退出 VSCode

文件

Shortcut KeyCNENDescription
Cmd+N新建文件
Cmd+Shift+N新建窗口
Cmd+O打开文件或文件夹
Shift+Cmd+T重新打开已关闭的编辑文件
Cmd+S保存
Shift+Cmd+S另存为
Alt+Cmd+S全部保存
Cmd+W关闭当前窗口,没有窗口就关闭编辑器
Cmd+K F关闭当前工程,关闭文件夹

编辑

Shortcut KeyCNENDescription
Cmd+Z撤销
Shift+Cmd+Z恢复
Cmd+X剪切
Cmd+C复制
Cmd+V粘贴
Cmd+F查找/替换
Shift+Cmd+F在文件中查找
Shift+Cmd+H在文件中替换
Cmd+/切换行注释
Alt+Shift+A切换块注释
Ctrl+Cmd+Space表情与符号

选择

Shortcut KeyCNENDescription
Cmd+A全选
Ctrl+Shift+Cmd+➡️展开选定内容
Ctrl+Shift+Cmd+⬅️缩小选定内容
Alt+Shift+⬆️向上复制一行
Alt+Shift+⬇️向下复制一行
Alt+⬆️向上移动一行
Alt+⬇️向下移动一行
Alt+Cmd+⬆️在上面添加光标
Alt+Cmd+⬇️在下面添加光标
Cmd+D添加下一个匹配项
Shift+Cmd+L选择所有匹配项

查看

Shortcut KeyCNENDescription
Shift+Cmd+P命令面板
Ctrl+Cmd+F切换全屏
Cmd+K Z切换 Zen 模式
Cmd+B切换侧边栏
Cmd+J切换面板
Cmd+=放大
Cmd+-缩小
Shift+Cmd+0重置缩放Cmd+NumPad0
Alt+Cmd+0翻转布局
Shift+Cmd+E资源管理器
Shift+Cmd+F文件中搜索
Ctrl+Shift+G源代码管理
Shift+Cmd+D调试
Shift+Cmd+X扩展
Shift+Cmd+U输出
Shift+Cmd+M问题
Shift+Cmd+Y调试控制台
Ctrl+`打开集成终端
Cmd+\竖向拆分编辑器(最多 3 个)
Alt+Z切换自动换行

转到

Shortcut KeyCNENDescription
Cmd+-后退Ctrl+-
Cmd+=前进Ctrl+Shift+-
Alt+Cmd+➡️下一个编辑器
Alt+Cmd+⬅️上一个编辑器
Ctrl+➡️组中下一个使用过的编辑器
Ctrl+Shift+➡️组中上一个使用过的编辑器
Cmd+1切换到第一组
Cmd+2切换到第二组
Cmd+3切换到第三组
Cmd+4切换到第四组
Cmd+5切换到第五组
Cmd+K Cmd+⬅️左侧组
Cmd+K Cmd+➡️右侧组
Cmd+K Cmd+⬆️上方组
Cmd+K Cmd+⬇️下方组
Cmd+P转到文件
Cmd+R转到文件中的符号Shift+Cmd+O
Shift+Cmd+R转到工作区中的符号
Shift+Cmd+O转到文件中的符号
Cmd+T转到工作区中的符号
F12转到定义
Cmd+F12转到实现
Ctrl+G转到行

调试

Shortcut KeyCNENDescription
F5启动调试,重复按继续调试
Ctrl+F5非调试启动
Shift+F5停止调试
Shift+Cmd+F5重启调试
F10单步跳过
F11单步执行
Shift+F11单步跳出
F5继续
F9切换断点
Shift+F9内联断点

终端

Shortcut KeyCNENDescription
Ctrl+~新建终端
Ctrl+\拆分终端
Shift+Cmd+B运行生成任务

窗口

Shortcut KeyCNENDescription
Cmd+M最小化窗口
Ctrl+W切换窗口

帮助

Shortcut KeyCNENDescription
Shift+Cmd+/显示帮助

其它

诚然,VSCode 并没有把所有的快捷键列到菜单栏中,好多快捷键自有其使用上下文,且列一下其它的快捷键。

Shortcut KeyCNENDescription
Ctrl+Tab在历史打开文件之间切换
Cmd+~在打开的多个窗口之间切换
Cmd+[代码左缩进
Cmd+]代码右缩进
Shift+Alt+F格式化代码,或 Shift+Cmd+P 后输入 Format Document
Cmd+Enter当前行之后插入一个空行
Shift+Cmd+Enter当前行之前插入一个空行
Cmd+⬆️移动光标到当前文件首行
Cmd+️⬇️移动光标到当前文件尾行
Cmd+⬅️移动光标到当前行首
Cmd+➡️移动光标到当前行尾
Alt+⬅️向左移动光标一个单词(连字)
Alt+➡️向右移动光标一个单词(连字)
Shift+Cmd+⬆️选中从首行到光标处的文档
Shift+Cmd+⬇️选中从光标到尾行处的文档
Shift+Cmd+⬅️选中光标处到行首
Shift+Cmd+➡️选中光标处到行尾
Cmd+I选中当前行
Cmd+Delete删除光标处到行首
Cmd+F2光标先移动到单词上,然后按 Cmd+F2 后可以进行批量重命名
Cmd+K VMarkdown 文档预览
Shift+Cmd+K删除当前行
Shift+Cmd+\在匹配的括号之前跳转
Shift+Cmd+[跳转到上一个编辑窗口
Shift+Cmd+]跳转到下一个编辑窗口
Cmd+K Cmd+0折叠所有代码
Cmd+K Cmd+1折叠第一层代码
Cmd+K Cmd+2折叠第二层代码
Cmd+K Cmd+3折叠第三层代码层数受制于代码层级
Cmd+K Cmd+[折叠所有代码
Cmd+K Cmd+]展开所有代码
Cmd+K Cmd+C添加当前行代码注释
Cmd+K Cmd+U取消当前行代码注释
Cmd+/当前行注释切换
Alt+Shift+I在所选行的行尾插入光标
Shift+Cmd+L选中所有与当前选中内容相同的部分
Alt+Shift+光标拖动选中代码块
Cmd+G查找下一个
Shift+Cmd+G查找下一个

快捷键定制

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
// 将按键绑定配置放入此文件中即可覆盖默认值
[
  {
    "key": "alt+cmd+up", // 向上插入多个光标
    "command": "editor.action.insertCursorAbove",
    "when": "editorTextFocus"
  },
  {
    "key": "alt+cmd+down", // 向下插入多个光标
    "command": "editor.action.insertCursorBelow",
    "when": "editorTextFocus"
  },
  {
    "key": "cmd+d", // 添加下一个匹配项
    "command": "editor.action.addSelectionToNextFindMatch",
    "when": "editorFocus"
  },
  {
    "key": "shift+cmd+0", // 重置缩放
    "command": "workbench.action.zoomReset"
  },
  {
    "key": "cmd+-", // 后退
    "command": "workbench.action.navigateBack"
  },
  {
    "key": "cmd+=", // 前进
    "command": "workbench.action.navigateForward"
  },
  {
    "key": "cmd+r", // 符号跳转
    "command": "workbench.action.gotoSymbol"
  },
  {
    "key": "cmd+space", // 触发建义提示
    "command": "editor.action.triggerSuggest",
    "when": "editorHasCompletionItemProvider && textInputFocus && !editorReadonly"
  },
  {
    "key": "shift+cmd+space", // 触发参数提示
    "command": "editor.action.triggerParameterHints",
    "when": "editorHasSignatureHelpProvider && editorTextFocus"
  },
  {
    "key": "alt+enter", // 打开右键菜单
    "command": "editor.action.showContextMenu",
    "when": "textInputFocus"
  },
  {
    "key": "shift+;", // ZenMode 显示命令提示框
    "command": "vim.showQuickpickCmdLine",
    "when": "inZenMode && vim.mode != 'Insert'"
  },
  {
    "key": "ctrl+j", // 合并到一行
    "command": "editor.action.joinLines",
    "when": "editorTextFocus && !editorReadonly"
  },
  {
    "key": "ctrl+t", // 调换字符位置
    "command": "editor.action.transposeLetters",
    "when": "textInputFocus && !editorReadonly"
  },
  {
    "key": "shift+cmd+space", // 触发参数提示信息
    "command": "editor.action.triggerParameterHints",
    "when": "editorHasSignatureHelpProvider && editorTextFocus"
  },
  {
    "key": "ctrl+alt+i", // 导入类的命名空间
    "command": "namespaceResolver.import",
    "when": "editorTextFocus"
  },
  {
    "key": "ctrl+alt+e", // 展开类的命名空间
    "command": "namespaceResolver.expand",
    "when": "editorTextFocus"
  },
  {
    "key": "ctrl+alt+s", // 命名空间排序
    "command": "namespaceResolver.sort",
    "when": "editorTextFocus"
  }
]