Mac和Linux下的快捷键有区别,这对啥都是痛点,而我莫名地不喜欢改掉默认的按键,所以特别痛。
骚操作和配置
这里只记录一些比较灵活,但是新手不容易想到的地方。像cmd + enter无视光标位置直接向下换行(增加 shift,向上)、cmd + option + f当前页面替换(option换成shift是全局搜索)这类比较普遍的操作就不提了。
文档操作——有效提升生产率
- 前进/后退(搜快捷键用这俩关键词)
- 后退到光标历史前的位置(跨文件!)
ctrl + -;Linux下是ctrl + alt + - - 前进到光标历史后的位置(跨文件!)
shift + ctrl + -;Linux下是ctrl + shift + -
- 后退到光标历史前的位置(跨文件!)
- 跳转到行:
ctrl + g - 复制带格式的代码块
- 有时候会发现复制了之后缩进很不如人意,自己调整简直要命
- 出现这个问题的本质是复制源和目标源不一致,需要从源的第一行的行首,注意是行的最开始,而不是这一行第一个字符
- 这样整块复制下来之后,那些内部的缩进就能全部复制下来,接下来整体去通过
tab或者shift + tab来调整缩进也会很正常。
- 选中代码块:极其酷炫的功能!
- 左键选中代码块开始的左上角
shift + 左键选中右下角。- 可以利用这个操作选中多列的同一个位置,技巧是配合
option按键先选末尾,再选开头。
- 多处同时编辑
- 选词操作
cmd + d- 直接操作,可以选中光标所在位置的最小单词
- 选中某个单词后,继续使用,可以选中相同的其他单词
- 鼠标单击的同时按
option可以让光标灵活的多选,更可以配合cmd + d,来选择性的取消一些选择!
- 选词操作
- 行操作
- 复制当前行
shift + option + 方向键下 - 剪切当前行
cmd + x,注意,光标只能停留在那行,不能选中任何文档。 - 删除当前行
shift + cmd + k - 移动行:
option + ↑或者option + ↓ - 复制行:
shift + option + ↑或者shift + option + ↓
- 复制当前行
快捷功能
- 通过快捷键
cmd + p然后输入>号(这其实就是相当于shift + cmd + p),可以打开命令输入框,能做很多事,比如快速修改配置——举个例子,输入“空格”,可以找到“查看:切换呈现空格”,可以显示出代码里所有空格。 - 通过
cmd + k然后cmd + s就能打开快捷键列表,可以查看和修改 - 预览Markdown文档
shift + cmd + v - 在Linux里,预览Markdown是
shift + ctrl + v,这个快捷键同时可以让你在Terminal里粘贴内容。
Snipper:自定义代码片段
- 首选项 -> 用户代码片段
以 vue 文件为例,选择代码片段文件为 vue.json,输入:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18{
"Vue component": {
"prefix": "vuec",
"body": [
"<template>",
"\t$1",
"</template>",
"<script>",
"export default {",
"\t",
"}",
"</script>",
"<style lang=\"scss\" scoped>",
"</style>",
""
]
}
}上面的
prefix就是 Snipper 的关键了,输入prefix的内容之后按TAB键就能让这个 Snipper 生效。- 通过使用
$1决定 Snippet 插入后光标所在位置。VSCode 支持光标的多选,如果你需要光标多选,在需要的地方写$1即可。 - 凡是在开发过程中经常用的片段,都可以添加为 Snippet,能极大提升生产力。
明明不愿意改默认快捷键的我却相当喜欢这个功能
在Terminal里使用VSCode打开文件
- 只需要把 code 命令添加到 PATH 里,而这个配置可以让VSCode帮我们完成
- 通过
shift + cmd + p,输入shell - 找到“在 PATH 中安装 code 命令”,确定,就完成了…
- 从此可以在命令行里使用 code,比如
code .打开当前目录;code [path]打开某个目录
用户配置
- code -> 首选项 -> 设置;或者
cmd + , - 做法是在左边窗口找到想要修改的配置,然后复制键值对到右侧的用户设置页,并且设置自己想要的值
- 后来改版了,变成各种选项的设置界面。右上角有一对花括号,点击可以像以前一样直接使用JSON格式配置
- 推荐一个配置吧:
1 | { |
一些插件
Emmet
- 许多编辑器需要手动安装插件,比如 Sublime,VSCode则是集成了不少功能,比如最常用的Emmet,其快捷键当然也是
TAB。以下针对前端开发说语法 - HTML 语法
>子节点+兄弟节点*相同元素,后面跟数字.添加 class,可以链式来个一个节点生成多个 class 值:添加类型,比如:p可以指定一个 input 为 password 类型,有待发掘。
- CSS 语法
- 短名称的属性名和值,输入属性首字母和值的首字母
- 属性的值是数字的时候,有时候需要在数字后写单位
- 名字较长且含有连字符
-的,输入连字符前后的首字母再加值即可。
- JavaScript 语法:之前的版本,在.vue和.jsx文件里不能很好的生效,需要额外配置
emmet.includeLanguages,新版本优化了这一点。(写这篇的时候还需要手动设置,2019更新文档特更正)
vscode-fileheader
很赞的文件注释工具
- 需要在用户设置里覆盖一下作者名字,主要是这两个字段:
fileheader.Author和fileheader.LastModifiedBy - 快捷键
control + option + i(win 下ctrl + alt + i)然后每次保存文件的时候,就会刷新其信息 - 上面推荐的用户配置里也有对应的字段
ESLint
- 安装 ESLint 后,编写过程里,VSCode 会根据项目的 ESLint 配置对代码进行检查(因为 ESLint 插件默认是生效的)
默认下不会对
.vue文件生效,所以需要先安装Vetur扩展,然后给 VSCode 的配置添加:1
2
3
4
5
6
7
8"eslint.validate": [
"javascript",
"javascriptreact",
{
"language": "vue",
"autoFix": true
}
]
GitLens
- 查锅神器,可以直接在代码边上显示变动的情况,是谁在什么时候做了什么修改都一清二楚。
- 缺点,会导致时不时出现水平滚动条(因为是相当于直接增加了行的内容),所以平时最好禁用。
document this
一个函数注释工具
- 懒人福音,快捷键
control + option + d连续按2次(win 下为ctrl + alt + d) - 其实 VSCode 已经自带了:在函数上方输入
/**回车就行,配置更多,但是都需要自己手写。 - 这个插件支持的情况很有限,比如.vue 的文件就不支持。
- Linux下他的快捷键和默认快捷键有冲突。见仁见智吧。
TODO Highlight
- 对英文输入法大写的标识有醒目的高亮表示
TODO:代表此处有功能待编写FIXME:代表此处有代码需要修复(有错误或者不能工作)
- 使用方式:
- 可以通过命令:
toggle highligt来显示/隐藏高亮 - 可以通过命令:
list highlighted annotations来罗列当前 VSCode 打开的项目里的所有这些标识。
- 可以通过命令:
- 这个习惯可能是 eclips 这个 ide 开始的?在 Eclipse 中,TODO、FIXME 和 XXX 都会被 Eclipse 的 task 视图所收集。在项目发布前,检查一下 task 视图是一个很好的习惯。此外,在 Eclipse 中,我们可自定义自己的特殊注释标签。