VScode 快捷键,使你工作事半功倍

1.快速上手VS Code

命令行的使用

运行 code --help打印出VS Code命令行支持的所有参数。
VScode 快捷键,使你工作事半功倍

最基本的命令行使用方式是在code命令后加上文件或者文件夹的地址,这样VS Code 就会在一个新窗口中打开这个文件或文件夹。

如果你希望使用已经打开的窗口来打开文件,可以在code命令后添加参数 -r来进行窗口的复用。
VScode 快捷键,使你工作事半功倍

你也可以使用参数 -g <file:line[:character]> 打开文件,然后滚动到文件中某个特定的行和列,比如输入code -r -g package.json:128命令,你就可以打开package.json 这个文件,然后自动跳转到 128 行。

这个命令可以方便你从终端里快速地在 VS Code 里打开一个文件进行预览,一个特别常见的例子就是当我们使用脚本执行某个命令,这个命令告诉我们某个文件的某一行出现了错误,我们就能够快速定位了。
VScode 快捷键,使你工作事半功倍

VS Code 也可以用来比较两个文件的内容,你只需使用 -d参数,并传入两个文件路径,比如输入 code -r -d a.txt b.txt命令,就可以比较a.txt和b.txt两个文件的内容了。有了这个命令,你就可以既使用命令行运行脚本,也可以借助 VS Code 的图形化界面进行文件内容的对比了。
VScode 快捷键,使你工作事半功倍

VS Code 命令行除了支持打开磁盘上的文件以外,也接受来自管道中的数据。这样你就可以将原本在命令行中展示的内容,实时地展示在 VS Code 里,然后在编辑器中搜索和修改。比如,你可以把当前目录下所有的文件名都展示在编辑器里,此时只需使用ls | code -命令。

总结

  • -r 表示使用当前的VS Code窗口
  • -g <file:line[:character]> 表示跳转到指定文件夹的指定列
  • -d用于两个文件做对比
  • ls | code - VS Code支持管道,利用管道可以将原本在命令行中展示的内容实时显示在VS Code中

2.双手离开鼠标

1.光标移动

  • ctrl+左右方向键:光标按照单词跳动,不是按照字符跳动
  • ctrl+shift+\:代码块的移动。从一个{跳到另一个}
  • ctrl+ Home/End:跳到文档第一行和最后一行
    VScode 快捷键,使你工作事半功倍
    VScode 快捷键,使你工作事半功倍
    VScode 快捷键,使你工作事半功倍

2.文本选择

在光标移动基础上加上shift按键就可以实现对文本的选中

  • ctrl+方向键+shift:选中文本
  • Home/End+shift:选中当前光标前或后的文本
  • :选中代码块 (没有找到自定义的地方)
    VScode 快捷键,使你工作事半功倍
    VScode 快捷键,使你工作事半功倍

3.删除操作

  • ctrl+shift+K:表示删除当前列(或者选中列)
  • delete+L:删除左边内容(自定义可以修改)
  • delete+R:删除右边内容(自定义可以修改)

3.快捷键进阶

代码行编辑

  • ctrl+Enter:下一行
  • ctrl+shift+Enter:上一行
  • Alt+上下键:移动一段代码。(会自动修改代码的缩进格式,非常方便)
  • Alt+shift+上下键:复制一段代码
  • ctrl+U:撤销本次光标移动
  • Alt+shift+A:注释选中的整块代码

VScode 快捷键,使你工作事半功倍
VScode 快捷键,使你工作事半功倍

4.创建多个光标

创建多光标做批量修改

  • 鼠标创建:Alt+鼠标点击
  • 键盘创建:ctrl+Alt+下按键先创建出多个光标后,将所有光标通过End移至最后,再做调整
    VScode 快捷键,使你工作事半功倍
    VScode 快捷键,使你工作事半功倍

创建多光标的两个特殊命令

1. ctrl+D

第一次按下时,它会选中光标附近的单词;第二次按下时,它会找到这个单词第二次出现的位置,创建一个新的光标,并且选中它。适用于处理多次出现的“相同”单词。

2.Alt + Shift + i

先选中代码,选中代码每一行的最后都会创建一个新的光标。这种方法是基于代码行的,如果你的需求是在同一行添加多个光标,那么就不适用了。
VScode 快捷键,使你工作事半功倍

5.如何快速在文件、符号、代码之间跳转

文件跳转

按下ctrl+Tab然后继续按着 Ctrl键但是松开 Tab 键,这样你就可以打开一个文件列表,这个列表罗列了当前打开的所有文件。接下来,你可以通过按下 Tab键在这个列表里跳转,选择你想要打开的文件。最后选到你想打开的文件后,松开 Ctrl 键,这个文件就被打开了。

Alt+Z表示使文本自动换行。

VScode 快捷键,使你工作事半功倍

当文件过多需要一直按住Tab键,这时按ctrl+P会跳出个最近打开文件的列表,同时在列表的顶部还有一个搜索框,使用这个搜索框来快速地找到你想要的文件,然后按下 Enter 键直接在当前窗口打开。按下ctrl+Enter在新窗口打开。
VScode 快捷键,使你工作事半功倍

行跳转

按下ctrl+g,编辑器就会出现一个输入框,直接输入行数。
如果你想跳转到某个文件的某一行,你只需要先按下ctrl+p,输入文件名,然后在这之后加上 :和指定行号即可。
VScode 快捷键,使你工作事半功倍

符号 (Symbols) 跳转

VS Code 提供了一套 API 给语言服务插件,它们可以分析代码,告诉 VS Code 项目或者文件里有哪些类、哪些函数或者标识符(我们把这些统称为符号)。

按下ctrl+shift+O出现一个带着@符号的搜索栏,能够看到当前文件里的所有符号。使用方向键,或者搜索,找到你想要的符号后,按下回车,就能够立刻跳转到那个符号的位置。

@符号后加:就可以将当前文件的所有符号,进行分类,这样搜索符号也就更加方便。
VScode 快捷键,使你工作事半功倍
VScode 快捷键,使你工作事半功倍

有些语言除了提供单个文件里的符号,还支持在多个文件里进行符号跳转。比如在 VS Code 里,如果你打开了多个 JavaScript 文件,就可以按下ctrl+T ,搜索这些文件里的符号。

定义 (Definition) 和实现 (implementation) 跳转

  • F12:跳转到函数的定义处
  • ctrl+F12:跳转到函数的实现的位置

这个命令实现也与语言本身有关, 比如JavaScript因为并没有接口(interface)的概念,定义和实现恰好是相同的。
VScode 快捷键,使你工作事半功倍

引用 (Reference) 跳转

很多时候,除了要知道一个函数或者类的定义和实现以外,你可能还希望知道它们被谁引用了,以及在哪里被引用了。这时你只需要将光标移动到函数或者类上面,然后按下 Shift + F12,VS Code 就会打开一个引用列表和一个内嵌的编辑器。在这个引用列表里,你选中某个引用,VS Code 就会把这个引用附近的代码展示在这个内嵌的编辑器里。
VScode 快捷键,使你工作事半功倍

6.玩转鼠标操作

文本选择

  • 单击鼠标左键就可以把光标移动到相应的位置。
  • 双击鼠标左键,则会将当前光标下的单词选中。
  • 连续三次按下鼠标左键,则会选中当前这一行代码。
  • 连续四次按下鼠标左键,则会选中整个文档。
  • 选中其中的多行代码:如果你单击行号,就能够直接选中这一行。如果你在某个行号上按下鼠标,然后上下移动,则能够选中多行代码。
    VScode 快捷键,使你工作事半功倍

文本编辑

  • 用鼠标进行剪切+粘贴:按下鼠标左键不松开,移动鼠标的话,就可以把这段文本拖拽到我们想要的位置
  • 用鼠标进行复制+粘贴:在拖拽这段文本的同时,按下ctrl键,这段文本将会被复制粘贴到虚拟光标所在的位置
    VScode 快捷键,使你工作事半功倍

7.代码自动补全、快速修复和重构

重构

当我们想修改一个函数或者变量的名字时候,我们只需把光标放到函数或者变量名上,然后按下 F2,这样这个函数或者变量出现的地方就都会被修改。这个操作并不是一个粗暴的搜索关键词并替换,在上面的动图中你可以看到,最后一行代码里有个 bar3函数调用,但当我们去重命名bar这个函数时,bar3并没有受到影响。
VScode 快捷键,使你工作事半功倍

8.极速搜索有时候比Intellisense还重要

单文件搜索

ctrl+F能够快速地调出搜索窗口,编辑器就会把当前光标所在位置的单词自动填充到搜索框中。与此同时,当前文件里和搜索关键词相同的单词都会被高亮出来。

自动填充搜索关键词的好处在于,当我们按下 ctrl +F 搜索这个单词之后,我们还能够立刻通过回车键(向下)或者 shift+回车键(向上) 在所有搜索结果当中快速跳转。
VScode 快捷键,使你工作事半功倍

首先我们将光标移动到我们想要搜索的单词处,然后按下F3,此时我们同样调出了搜索框,但与前面 ctrl +F这个快捷键不同的是,这时光标依然是在编辑器当中,而不是在搜索框中。

然后我们通过不断按下F3就能够在搜索结果之间自上而下地循环跳转,这时我们只需直接打字就能对代码进行修改了。如果我们想要在搜索结果里自下而上地跳转,只需增加shift键,按下shift+F3来实现自下而上的跳转。
VScode 快捷键,使你工作事半功倍

搜索框的功能

VScode 快捷键,使你工作事半功倍
第一个是大小写敏感。默认情况下,VS Code 的搜索是不区分大小写的,也就是说哪怕大小写不一样,也会算到搜索结果里去。但如果我们不想要这个特性,就可以点击右边第一个按钮,或者按下Alt + C来关闭它。
VScode 快捷键,使你工作事半功倍

第二个是全单词匹配。有的时候我们搜索的单词恰好是别的某个单词中间的一部分,如果我们不希望这样的结果出现在搜索结果中,那么就可以点击这个按钮或按下 Alt + W来关闭它。

第三个,就是正则表达式匹配了。当我们点击这个按钮或按下Alt+R,就能够打开正则表达式的支持,然后在搜索框中输入正则表达式来搜索。要注意的是,编辑器中的这个搜索框,它里面的正则表达式使用的是 JavaScript 的正则引擎。

我们可以先选中一段文本,然后按下 Ctrl + F 调出搜索框,这之后点击这个按钮,就可以将这段文本的范围设置为接下来的搜索区域。然后当我们在输入框里输入关键字后,编辑器就只会在这个区域里进行搜索。

VScode 快捷键,使你工作事半功倍

单文件替换

在搜索到我们想要的结果之后,我们可以直接在文件中进行修改,也可以使用替换窗口进行批量替换。如果你在使用鼠标或者是触控板的话,只需按一下搜索窗口最左侧的箭头按钮即可打开替换框。
VScode 快捷键,使你工作事半功倍

我们也可以通过快捷键直接调出替换窗口。按下ctrl+H当前光标所在的单词就会被用作为搜索关键词,同时编辑器将光标移动到替换窗口中,我们只需直接输入想要替换的关键词就行了。

9.版本控制

差异编辑器

四个按钮
VScode 快捷键,使你工作事半功倍

第一个按钮的功能是从差异编辑器跳转到一个普通的编辑器,并且打开这个文件。这样我们能够无干扰地进行编辑操作了。
VScode 快捷键,使你工作事半功倍

第二个按钮控制的是:是否要在差异编辑器里显示代码里行末的空格符的变化。比如说你不小心在行末添加了几个空格,默认情况下,VS Code 觉得这几个空格不影响代码,就不会在差异编辑器里显示。但我建议把它打开,这样你就可以确保能够看到所有的代码改动。
VScode 快捷键,使你工作事半功倍

接下来的两个箭头按钮,就是用于在当前文件里的多个变动之间进行跳转了。
VScode 快捷键,使你工作事半功倍