如何自定义

虽然之前已经有提到,但这里还是在啰嗦一遍。你可以通过以下两个方法唤出 VSCode 快捷键自定义界面:

  • 快捷键(二级跳):⌘K ⌘S
  • 命令面板搜「keyboard」,找到「Preferences: Open Keyboard Shortcuts」

💡 快捷键小贴士(⌃⌥⇧⌘):

  • ⌘ Comand:最常用的快捷键组成,可配合任何键以及鼠标点击合并;很多 Windows 下以 ⌃ 作为快捷键主键的,在 Mac 下用 ⌘
  • ⇧ Shift:一般不会单独在快捷键组合中出现,它的作用主要由两个:「反向」和「圈选」(记住这点非常重要)
  • 反向:改变行为的方向,比如 ⇥ 的行为是「下一个」,而 ⇧⇥ 是「上一个」
  • 圈选:产生圈效果,比如普通的点击只是切换了焦点,但配上 ⇧ 再点,则会圈选前后点击包含的所有元素,再比如编辑文本的时候按方向键只是改变了光标,配上 ⇧ 则会选中光标经过的地方的文本
  • ⌥ Option:当 ⌘ 组合被用完后,可以用它作为主键
  • ⌃ Control:和 ⌘、⌥ 差不多,唯一的区别是 ⌃Click 被系统默认用作打开右键菜单的方式

带 🌈 标记表示需要自定义。

高频快捷键 - 快速编辑

快捷键

功能

Command

说明

⇧⇥

取消缩进(反向 Tab)

outdent

🌈 ⌘D

删除光标所在行(所选行)

editor.action.deleteLines

⌥↑

所选行/光标所在行上移

editor.action.moveLinesUpAction

没有 WebStorm 智能

⌥↓

所选行/光标所在行下移

editor.action.moveLinesDownAction

没有 WebStorm 智能

⌘/

单行注释

editor.action.toggleLineComment

🌈 ⇧⌘/

多行注释

editor.action.toggleBlockComment

需要改系统快捷键,对应系统快捷键是呼出帮助

⌥⇧F

格式化代码

editor.action.formatDocument

💥 和 WebStorm 不一样

🌈 ⇧⌘J

合并所选行

editor.action.joinLines

🌈 ⇧⌘X

切换成大写

editor.action.transformToUppercase

没有 WebStorm 好用,可以一个快捷键在大小写间来回切换

🌈 ⌥⇧⌘X

切换成小写

editor.action.transformToLowercase

前面的快捷键上附加一个 ⌥

🌈 ⌥⌘↑

向上复制一行

editor.action.copyLinesUpAction

🌈 ⌥⌘↓

向上复制一行

editor.action.copyLinesDownAction

🌈 ⌘⌫

从光标处删除到整个词首

deleteWordLeft

VSCode ⌘⌫ 默认为到行首,先解除之

🌈 ⌘⌦

从光标处删除到整个词尾

deleteWordRight

🌈 ⌥⌫

从光标处删除到分词的词首

deleteWordPartLeft

🌈 ⌥⌦

从光标处删除到分词的词尾

deleteWordPartRight

高频快捷键 - 移动光标

快捷键

功能

Command

说明

⌘↑

移动光标至文首

editor.action.goToTopHover

⌘↓

移动光标至文尾

editor.action.goToBottomHover

⌘←

移动光标至行首

cursorHome

忽略行首空白

⌘→

移动光标至行尾

cursorEnd

但是不会忽略行尾空白

⌥←

移动光标到上一个词

cursorWordLeft

⌥→

移动光标到下一个词

cursorWordRight

⌥⇧\

移动光标到对应的括号处

editor.action.jumpToBracket

高频快捷键 - 选择文本

快捷键

功能

Command

说明

⇧⌘↑

移动光标至文首,选中经过的文本

cursorTopSelect

⇧⌘↓

移动光标至文末,选中经过的文本

cursorBottomSelect

⇧⌘←

移动光标至行首,选中经过的文本

cursorHomeSelect

⇧⌘→

移动光标至行尾,选中经过的文本

cursorEndSelect

⌥⇧←

移动光标到上一个词,选中经过的文本

cursorWordLeftSelect

⌥⇧→

移动光标到下一个词,选中经过的文本

cursorWordRightSelect

高频快捷键 - 查找替换

快捷键

功能

Command

说明

⌘F

文件内搜索

actions.find

⌥⌘F

文件内替换

editor.action.startFindReplaceAction

💥 和 WebStorm 设的不一样

⌘G

查找并将光标移动到下一个搜索命中文本

editor.action.nextMatchFindAction

⇧⌘G

查找并将光标移动到上一个搜索命中文本

editor.action.previousMatchFindAction

🌈 ⌃H

全局内容搜素

workbench.action.findInFiles

🌈 ⌃⇧H

全局内容搜素

workbench.action.replaceInFiles

⌘P

根据名字搜索文件等资源

workbench.action.quickOpen

💥 和 WebStorm 设的不一样

⌘T

命令面板查找 Symbol 模式

workbench.action.showAllSymbols

和 WebStorm 的查找类型有点类似

🌈 ⌥⌘G

查找引用

references-view.findReferences

💥 不支持文件

高频快捷键 - 多点编辑

在创建多个光标后,结合箭头、移动光标快捷键等,绝对是炫技提效必备。

快捷键

功能

Command

说明

⌥Click

增加光标


基础

🌈 ⌃⌘G

选中所有选中的文本,或光标所在的词

editor.action.selectHighlights

💥 和 WebStorm 不一样的是,VSCode 选中后所有的光标在词尾

🌈 ⇧⌘L

所有选中行末添加光标

editor.action.insertCursorAtEndOfEachLineSelected

🌈 ⌥⇧↑

向上复制光标

editor.action.insertCursorAbove

🌈 ⌥⇧↓

向下复制光标

editor.action.insertCursorBelow

⌥⇧鼠标拖拽

纵向拖出一条光标

-

类似连续多次向上或向下复制光标的效果,但附加带选中效果

高频快捷键 - 通用

快捷键

功能

Command

说明

🌈 ⌘1

展示快速修复菜单

editor.action.quickFix

有病没病都可以按

⌃`

展示/隐藏 Terminal

workbench.action.terminal.toggleTerminal

⌘\

编辑器向右切屏

workbench.action.splitEditor

🌈 ⌥⌘\

编辑器向下切屏

workbench.action.splitEditorDown


重命名文件

renameFile

💥 和 WebStorm 不一样,保持系统的原汁原味

⌥Z

代码软折行

editor.action.toggleWordWrap

高频快捷键 - 特有功能

快捷键

功能

Command

说明

⇧⌘P

展示命令面板

workbench.action.showCommands

Sublime 最大的创举

⌘K ⌘S

打开快捷键偏好设置

workbench.action.openGlobalKeybindings

⌘B

显示 / 隐藏侧边栏

workbench.action.toggleSidebarVisibility

🕸️ 有用链接

🙋 FAQ

❓ 为什么不用默认的 ⌘⌫ 删除整行,而是 ⌘D 呢?

前者虽然删除了行的内容,但没有删除这一行,需要再敲一个 ⌫ 才能彻底让这一行消失,后者一次搞定。

❓ 如何切换偏好/快捷键的 JSON 编辑模式?

对应的界面右上角有个图标,点它就会切换到 JSON 格式,可以直接编辑:

vscode python 自动唤出函数插件_数据库

❓ 如何解决 ESLint 无提示的问题?

最新版已经没有问题了。

ESlint 插件装了,项目下的依赖也装了,但编辑器上就是没有波浪线,这种问题通常出现在 TS 项目中。

首先确认一下状态栏下 ESLint 没有任何报错(没有警告 Icon)。

没问题的话,直接编辑偏好 JSON:

json
复制代码
{
  ...,
  "eslint.alwaysShowStatus": true,
  "eslint.validate": [ "typescript", "typescriptreact" ]
}