// From
function getStatus() {
if (condition1) return STATUS_FIRST
if (condition2) return STATUS_SECOND
if (condition3) return STATUS_THIRD
return STATUS_DEFAULT
}
// To
function getStatus() {
// if (condition1) return STATUS_FIRST
if (condition1) return STATUS_TEST
if (condition2) return STATUS_SECOND
if (condition3) return STATUS_THIRD
return STATUS_DEFAULT
}
工欲善其事必先利其器,用好快捷键一定程度上可提高编码效率。
展开/收起目录:
- 开始之前 - 管理窗口 - 切换面板 - 切换侧栏 - 搜索与替换 - 搜索内容 - 替换内容 - 搜索文件 - 编辑区 - 移动光标 - 选择文本 - 移动行 - 插入行 - 操作行 - 删除 - 注释 - 格式化 - 折叠与展开代码 - 保存 - 撤销与恢复 - 命令面板 - 常用命令 - 配置命令 - 查看插件命令 - 高阶用法 - 场景一 - 场景二 - References开始之前
在此之前,先弄清楚快捷键的增删改查,从左下角的「管理 - 键盘快捷方式」打开面板。
将鼠标移至对应命令,然后右键可对增加、修改、删除、重置对应的键绑定。点击左侧 ICON 也可以增加或修改。查询则有以下方式任君选择:
查找
、find
、cmd f
等(中文查找需安装中文语言包)。@source:user
、系统@source:system
、插件@source:extension
、默认@source:default
四类。部分控制键与符号映射如下:
一些会采用两组键组合的方式:先用「⌘ + K」记录第一组组合键,然后再按下其他键或组合键以记录第二组。这种习惯似乎源自 Emacs。比如「⌘ + K」和「⌘ + S」两组组合键来打开快捷键面板。
管理窗口
切换面板
主要用于控制侧边面板、底部面板的显示与隐藏。
切换侧栏
默认情况下,侧栏有资源管理器、搜索、源代码管理、运行和调试、扩展。
搜索与替换
包括搜索文件(内容)、替换内容等。
搜索内容
替换内容
搜索文件
对于文件数多、目录层级深的项目,如果一个一个地在资源管理器面板中展开查找,显得有点慢。
编辑区
平常开发中,主要都聚焦在文件编辑区中,掌握一些常用的快捷键很有必要。
移动光标
列举一些常见的移动光标场景:
常规
如果用方向键一个一个地移动,对于一些较长的变量名、属性、方法等,显然很不友好。如果用鼠标,要经历离开键盘 → 滑动鼠标 → 回到键盘的过程,也烦。仅用「左/右方向键」来移动光标,是以「单个字符」为颗粒度进行移动的。如果以「Option + 左/右方向键」组合的话,其颗粒度变为「单词」,以实现快速移动的目的。
代码块相关
有时,我们需要快速切换至代码块的起始、结束位置。
{}
、()
两类括号,可快速切换至就近括号的开头/结尾位置。跳转相关
多光标相关
创建多光标的方式有以下两种:
举个例子,假设要将
data
批量修改为prize
。使用鼠标是这样子的 👇,还要小心翼翼地,生怕点错位置。
利用「⌘ + D」是这样的 👇,对于示例中,列不对齐的场景更加方便。
利用「⌘ + ⇧ + L」是这样的 👇,更快。
选择文本
前面介绍了光标移动,通常是「⌘/⌥ + 方向键」的形式。只要再加上「Shift」键就能快速选择「光标起始位置到下一个位置的文本」。
假设光标停在
updateUserInfo
的eU
中间,如何快速选择updateUserInfo
文本?方法很多,比如:
可用来快速收缩/扩展选中文本,也是以单词为颗粒度的,看图感受一下。
移动行
移动行还是很常见的,比如用来对调两行之间的位置。
插入行
你添加新行的方式,还是先移动光标至行尾吗?
操作行
删除
注释
其实这个应该不用多说。
折叠与展开代码
格式化
保存
至于「⌘ + S」就不说了。
撤销与恢复
其实这个也不用说的。
以上就是编辑区中常见的快捷键,它们之间是可以自由组合的,可实现很多快捷操作。
命令面板
以下介绍一些本人常用的插件及命令。
常用命令
code
命令配置命令
我们可以给这些命令添加、修改、移除或重置快捷键,方式如下:
查看插件命令
第三方插件所定义的插件,可在插件页面中查看。
高阶用法
我们从实际场景出发。
场景一
假设我们要在本地调试,想在
condition1
条件中返回STATUS_TEST
。可能需要经过以下几步操作:
现在,我们可以针对这种场景定制一个自定义命令:
上面定义了一个「⌃ + ⌥ + C」的快捷键,它执行的命令为
runCommands
,该命令接收的参数为args
,在参数中又可以定义一个命令列表,以实现多命令执行。现在,我们只要用一个快捷键就能实现上述 1 ~ 4 的步骤。
场景二
不知道你有没有遇到过,如果文件 URL 很长,且超出一屏时,使用拖动鼠标选择 URL 时稍有不慎偏离本行的话,基本上就要重新拖选了。
举个例子,其中 URL 在靠右一端:
如何快速替换这个 URL 呢?
现在只要按下「⌃ + ⌥ + D」就可以快速替换了。
上述自定义的命令,添加到
keybindings.json
文件中,入口在这里 👇。References