ctrl + `(数字键1左侧的那个键)
39 Status bar的使用技巧
Status bar位于VS Code用户界面的最底部,它主要会显示当前项目和当前被编辑文件的一些信息。在这一节课,你将学习到Status bar里面包含的众多小技巧,学会这些小技巧,有时候就会带来很大的帮助。
40 用户界面知识快速复习
VS Code的用户界面由5个部分组成,每一个部分里面都包含了很多小功能,这些小功能其实是从不同的角度来协助我们更好的完成一个项目的开发。这一节课,我们就来对这些知识点做一个快速的复习。
第三章 文件及文件夹的使用
这一章节主要会介绍在VS Code中文件及文件夹的使用方式与使用技巧,还有就是,这一章节的最后我们也会学习,使用VS Code提供的workspace功能来更好的管理多个项目文件夹。
41 文件及文件夹的三个特点
42 管理文件及文件夹
43 Dirty Write
44 Preview Mode
45 文件使用技巧1: 寻找文件的三种方式
46 文件使用技巧2: 文件快速导航
47 文件使用技巧3: Pin Tab
48 文件使用技巧4: 单个文件内的搜索和替换
49 文件使用技巧5: 文件的自动保存与自动格式化
50 文件使用技巧6: 文件比较
51 文件使用技巧7: Timeline
52 文件使用技巧8: 快速创建文件或文件夹
53 文件使用技巧9: 快速撤销修改
54 文件使用技巧10: 配置项-File Associations
55 文件使用技巧11: 查看源文件的健康状况
56 文件使用技巧12: 文件的拖入与拖出
57 文件使用技巧13: 文件内容的自由缩放
58 文件使用技巧14: 配置项-Compact Folders
59 文件使用技巧15: Screencast Mode
60 文件使用技巧16: Save All
61 文件使用技巧17: 在Source Control中打开文件
62 文件使用技巧18: 在Source Control中调整文件的排序规则
63 文件使用技巧19: 配置项-Wrap tab
64 文件使用技巧20: 配置项-Files exclude
65 文件使用技巧21: Open in editor
66 文件使用技巧22: Search editor context
67 文件使用技巧23: 保存Search Editor
68 文件使用技巧24: 使用搜索历史记录
69 文件使用技巧25: 在Explorer中搜索文件
70 文件使用技巧26: Find in selection
71 文件使用技巧27: 替换时使用保留大小选项
72 文件使用技巧28: 多行搜索与替换
73 文件使用技巧29: 使用github.dev快速打开Github仓库
74 文件使用技巧30: 使用双击快速创建文件
75 文件使用技巧31: 配置新建文件的默认语言
76 文件使用技巧32: 打开历史项目快捷键
77 文件使用技巧33: 将VS Code设置为Git GUI的默认编辑器
78 文件使用技巧34: 将VS Code设置为Git Commit的默认编辑器
79 文件使用技巧35: 使用Timeline查看任意两个commit的差异
80 文件使用技巧36: 使用code命令查看两个文件的差异
81 文件使用技巧37: 利用临时文件查看差异
82 文件使用技巧38: Run Active File
83 文件使用技巧39: 快速寻找出错点
84 文件使用技巧40: 快速寻找出错点2
85 文件使用技巧41: 使用Revert File命令快速恢复文件修改
86 文件使用技巧42: 使用Go to Match命令快速跳转到搜索匹配项
87 文件使用技巧43: 使用New File选项创建指定类型的文件
88 文件使用技巧44: 两种方式自动将文件加入gitignore
89 文件使用技巧45: 使用Fast scrolling加快滚动速度
90 文件使用技巧46: 使用Local History查看文件的修改历史记录
91 文件使用技巧47: 找回被不小心删除的文件
92 文件使用技巧48: 临时文件的保存位置
93 文件使用技巧49: 使用Collapse让项目目录看起来更加的简洁
94 文件使用技巧50: 快速查看修改点
95 文件使用技巧51: 使用F2快速修改文件名
96 文件使用技巧52: 粘贴
41 文件及文件夹的三个特点
相较于常见的代码编辑器,比如Visual Studio、Xcode、Intellig IDEA,VS Code在文件及文件夹的使用方式上存在3个特点,这一节课,我们就来探讨一些这些不同之处,以此来更好的认识VS Code。
第一个特点是:VS Code不支持新建模版项目, 我们在新建一个项目时,常常希望使用一个模板项目,之后再在这个模板项目的基础上做二次开发,但是VS Code本身并没有像其它编辑器那样提供一个叫做“New Project”的选项来新建一个模板项目,虽然不支持,但是,我们可以使用下面两种方式来创建模板项目,第一种方式是使用命令行工具,我们可以安装一些能够创建项目模板的命令,比如开发vuejs的“vue”命令,开发dotnet core的“dotnet”命令等等;第二种使用方式是使用扩展,VS Code中一些扩展可以用于快速新建一个模板项目,比如“Web Template Studio”和“Spring Initializr Java Support”。
第二个特点是:VS Code不支持新建模板文件,VS Code的“New File”功能键并不提供“选择一个模板文件”的功能。所以,在VS Code新建文件时,我需要手动输入文件名称以及文件后缀名。一个新文件被创建之后,默认是空的内容,而常常呢,我们希望创建完文件之后,文件可以包含一些内容,比如当前文件创建的日期、作者姓名等信息,面对这种情况,我们可以利用 User Snippets来创建属于自己的代码片段,新建文件后,这样就可以快速生成一些默认内容。
第三个特点是:VS Code不会对文件及文件夹的显示做重构。当VS Code去加载一个项目时,它不会对项目里的文件及文件夹做重构显示,所以文件及文件夹在磁盘上看上去是什么样,那在VS Code中显示就是什么样。但是需要注意的是,VS Code的Settings里的Exclude选项里的一些配置,会使得VS Code隐藏项目下的一些特殊文件或文件夹,比如用于git的”.git”文件夹就不会显示在VS Code中。
42 管理文件及文件夹
这一节课,我们将学习如何在VS Code中对文件或文件夹进行增、删、改、查等常见操作。
新增文件或文件夹,第一种方式,我们可以使用项目名称右侧的“新增功能键”;第二种方式是使用上下文菜单中等“New File”和“New Folder”;第三种方式是使用复制粘贴来快速生成一个文件或文件夹。
删除文件或文件夹,可以使用上下文菜单中的“Delete”选项,或者使用快捷键,Mac是“Cmd + Delete”;Win是“Delete”。
对文件或文件夹重命名,可以使用上下文菜单中“Rename”选项,或者使用快捷键,Mac是“Enter”;Win是“F2”。
对文件或文件夹按名称进行搜索,我们可以先将鼠标在文件列表的空白处做一次点击,当四周出现一个蓝色当框时,我们就可以在键盘上输入搜索词,VS Code会高亮搜索结果。
另外,上下文菜单中还有几个比较常用的选项,第一个是将文件或文件夹在磁盘中进行打开,这个选项在Mac上叫“Reveal in Finder”,在Win上叫“Reveal in File Explorer”,在Linux上叫“Open Containing Folder”;第二个常用选项是“Open in Integrated Terminal”,使用它,我们可以快速打开Terminal且Terminal的当前工作目录为该文件所在目录;第三个常用选项是“Copy Path”用于获取文件或文件夹的绝对路径;第四个常用选项是“Copy Relative Path”用于获取文件或文件夹的相对路径。
43 Dirty Write
当我们在VS Code对某个文件进行修改并保存时,可能会出现文件无法保存的现象,这种现场发生的原因常常是因为触发了Dirty Write,这一节课,我们就来详细了解一下Dirty Write。
Dirty Write的发生是因为经历了如下三个步骤:
第一步:我们在VS Code中对某个文件进行了编辑,且文件尚未保存。
第二步:除VS Code之外的其它进程对这个文件进行了修改并将修改保存到了磁盘中。
第三步:我们在VS Code中对这个文件做保存操作。
由于上面的第二步(别人的版本)和第三步(我们的版本),会对同一个文件的内容产生了两个不同版本,所以就会导致文件在保存时发生错误,这种错误就叫做“Dirty Write”。
为了解决Dirty Write,让文件能够顺利保存,VS Code提供了两个选项,一个叫做“Override”,一个叫做“Compare”,Override选项会直接使用我们的版本,别人的版本会被移除,而选择“Compare”时,VS Code会打开差异视图,来让我们选择到底使用哪个版本,在选择的时候,如果最终版本的内容,在两方中都有,我们还需要先做merge操作,再来选择使用哪个版本。
在实际的工作中,编程语言的包管理工具的配置文件常常会发生dirty write现象,在使用的时候,我们需要注意下:对包管理工具的配置文件进行修改后,要及时进行保存,以免触发Dirty Write。
44 Preview Mode
当我们在VS Code中打开一个文件的时候,VS Code默认会以Preview mode的方式对文件进行显示,这会导致新打开的文件并不会独自占用一个Tab,有时候这并不是我们希望的结果。
当一个文件处于Preview mode的时候,VS Code会在文件的Tab区域对文件名采用斜体进行暗示,如果不是Preview mode,那么字体就不会是斜体而是正常的进行显示。为了能够让新开的文件独自占用一个Tab,我们就需要首先取消当前文件的Preview mode,取消方式有三种,分别是:双击当前文件名、双击当前文件的Tab和对当前文件进行编辑。
45 文件使用技巧1: 寻找文件的三种方式
一个真实的项目通常包含很多源代码文件,在项目开发过程中,能否从这么多文件中快速找到自己想要的文件将是非常重要。这一节课,我们就来学习一下在VS Code中寻找文件的三种方式以及它们的具体使用场景。
使用场景一: 知道文件名
当我们知道要找文件的名称时,我们可以使用VS Code提供一个快捷键叫做Quick Open
,这个快捷键在Windows上Ctrl+P
,在macOS上Cmd+P
。这个快捷键是寻找文件最方便的方式,平时用的也最多,我们应该牢记这个快捷键。
使用场景二: 不记得文件名,但是记得文件里包含一定的内容且该文件处于某个文件夹下
当我们不记得文件名时,我们就不能用第一种方法了。软件项目的源代码通常会根据功能或者模块需求被分配到不同的文件夹下,此时如果我们记得要找文件里包含一定的内容,且该文件处于某个特定的文件夹下,我们可以将鼠标移动到该文件夹上方,鼠标右键打开上下文菜单,并选择Find in Folder
,这样VS Code会打开Search功能且这时候Search功能的搜索范围会被自动限定到刚刚选择的文件夹上,这时候,因为搜索范围被缩小,搜索结果将会变少,这有助于我们更快的找到想要的文件。
使用场景三: 不记得文件名,不记得文件内容,但记得它有个“邻居”
不记得文件名,也不记得文件内容,我们就不能用前两种方法了,这时候如果我们记得要找的文件有个“邻居”(这里的邻居,指的是两个文件处于同一目录或相近目录),我们就可以通过找邻居的方式找到想要的文件。这样做,其实是利用了VS Code打开一个文件的同时,该文件在Explorer中所在的目录会被自动展开
的特性。这样,通过先找邻居,就可以帮助我们间接的找到想要的文件。
46 文件使用技巧2: 文件快速导航
这一节课,我们将学习和文件导航的相关技巧,学习了这些技巧后,我们就可以在多个已打开文件之间做快速切换,以及我们可以在单个文件内快速回到上个编辑点。
多个文件之间
在项目开发过程中,我们经常会打开多个文件,随着已打开文件的不断增多,我们就需要一种方法能够在这些文件之间做快速切换。
在VS Code中,做文件切换最方便的方式是使用快捷键Ctrl+Tab,它的具体使用方法是:
按住Ctrl+Tab
不松Ctrl,依靠单击Tab选择文件
释放Ctrl打开被选文件。
单个文件内部
文件内的每一次编辑都会产生一个编辑点,英文叫Edit Location
,我们常常需要能够快速回到上个编辑点。
在VS Code中,做编辑点切换,我们可以使用快捷键
Windows: Alt+Left 和 Alt+Right
macOS: Ctrl+-(-
是键盘上的减号键)
47 文件使用技巧3: Pin Tab
在使用VS Code过程中,随着时间推移,我们会打开越来越多的文件,在这么多已打开文件当中,我们可以将一些我们认为重要的文件的Tab设定为Pin(固定),被Pin的Tab,会带来很多好处,这一节课我们就来学习下这里面的使用技巧。
Pin Tab这个选项有三种设置,我个人推荐使用compact
而不是默认的normal
,相应的设定方法是
打开Settings
输入关键词pin tab
进行搜索
找到设置项Pinned Tab Sizing
并选择compact
设置项
使用Pin Tab,可以带来以下几点好处:
被Pin的Tab总是会固定在Tab区域的开始,方便随时进行切换
滚动Tab区域时,被Pin的Tab不会发生滚动,方便随时进行切换
使用”Close All”时,被Pin的Tab不会被关闭,方便保留住重要的文件
48 文件使用技巧4: 单个文件内的搜索和替换
在Activity Bar中,VS Code提供了Search这个工具来进行全局的搜索或替换,但在实际的工作中,你会发现,我们也经常需要能够在单个文件的内部进行搜索或替换。这一节课,我们就来学习下相关的使用技巧。
为了在单个文件的内使用搜索或替换功能,我需要使用快捷键:macOS是 Cmd + F;Windows是 Ctrl + F。之后我们就能看到文件顶部浮现出的搜索以及替换输入框了。这里面的使用方法和我们之前在第10节课中学习到的内容几乎一样。在这一节课,我想着重复习下搜索输入框右侧的两个功能: Aa
和Ab|
,灵活的使用它们,可以更好的缩小搜索范围,帮助我们更精确的找到想要的值或者进行更精确的文本替换。它们俩的具体用法如下:
Aa
: 代表是否开启大小写匹配功能,一旦开启这个功能,文本的匹配就变得大小写敏感了(VS Code默认使用的是大小写不敏感)。
Ab|
: 代表是否开启全单词匹配功能,一旦开启这个功能,文本的匹配必须作用于一个完整的单词,比如文件中有个单词叫username
, 如果这时候我们搜索user
,那么,这时候我们是搜不到结果的,因为文件里只有一个叫username
的单词,而没有一个叫user
的单词。
我自己的体会是,在工作过程中,这个两个工具的使用常常会带来出其不意的效果,特别是在单个文件内容很长的情况下。推荐你多多使用!
49 文件使用技巧5: 文件的自动保存与自动格式化
VS Code支持文件的自动保存与自动格式化功能,这一节课,我们就来学习下相关的使用技巧。
自动保存 功能设置方法如下:
打开Settings
搜索auto save
找到Files: Auto Save
选项并进行设置
自动格式化 功能设置方法如下:
打开Settings
搜索format
找到Editor: Format On Save
选项并进行设置
对于自动保存功能,我个人推荐不使用自动保存功能,养成手动保存的好习惯;对于自动格式化功能,需要提醒的是,VS Code默认只支持部分文件类型的格式化,比如:HTML,CSS,JS,JSON等,为了支持其它文件类型的格式化,需要安装相应的扩展。
50 文件使用技巧6: 文件比较
在工作或者学习的过程中,我们有时候需要对两个文件进行比较,以此来查看它们在内容上的不同之处。利用VS Code,我们可以很容易实现这个功能。
为了对两个文件进行比较,我们可以这样做:
鼠标点击第一个文件名
按住Shift键,鼠标单击另一个文件的文件名
鼠标右键,选择“Compare Selected”
这样,VS Code就会打开差异视图,高亮这两个文件在内容上的不同之处。
51 文件使用技巧7: Timeline
在VS Code的Explorer中,新版的VS Code新增了一个叫做“Timeline”的功能,通过这个功能,我们可以很方便的查看每一个源代码文件在Git中的提交记录。
如果我们的项目是使用Git管理的,那么,当我们打开某一个源代码文件,然后展开Timeline,就可以看到这个文件的Git提交记录列表,列表按照提交时间由近及远自上而下排列,每一列分别标注有commit message,提交人,提交日期等信息。单击这一列,VS Code会打开差异视图,高亮这次提交所修改的地方。
52 文件使用技巧8: 快速创建文件或文件夹
VS Code中创建文件或文件夹有多种方式,当我们希望一次连续创建多个文件夹,或者是希望创建某个文件的同时附带创建文件所属的文件夹,我们可以使用/
字符来快速完成这种操作。
具体的操作方法是:在Explorer中点击项目名右侧的New File
或者New Folder
时,在弹出的输入框中,借助/
就可以完成这样的任务。
53 文件使用技巧9: 快速撤销修改
VS Code内建了一个命令叫做“Revert File”,使用它,我们可以快速撤销对某个文件的修改。
需要注意的是,撤销的范围是:从当前点到上一次保存点之间的所有修改。
54 文件使用技巧10: 配置项-File Associations
通过修改配置项中的”File Associations”,我们可以自定义文件关联,将某种文件关联到某个VS Code支持的文件类型中,以便支持语法高亮,格式化等功能。
首先我需要在VS Code的Settings里通过输入关键词”File Associations”,找到这个配置项,然后点击“Add Item”,这时候会出现key,value输入框,关于key,有两种输入模式:
输入文件后缀名,例如,在key的地方输入“*.styl”,在value的地方输入“css”,styl后缀名的文件就会被关联到css文件类型。
输入文件名,例如,在key的地方输入“README”,在value的地方输入“markdown”,我们就可以将一个名为“README”的文件关联到markdown文件类型。
55 文件使用技巧11: 查看源文件的健康状况
我们在编写代码的时候,VS Code会在后台时刻分析我们的源文件,当它发现我们的代码有问题的时候,VS Code会从多个方面来提醒我们。
具体来说,VS Code会从在几个方面做出提醒:
Problems Panel: 这里会列出项目中所有的Problems,以及每一个Problem所在的源文件及行号。
Status bar左侧:这里会分别列出项目Problems中Error和Warning的个数。
Minimap:当一个源文件某一行出现Error时,minimap中会以红色来提醒,当出现Warning时,会以黄色来提醒。
文件名右侧显示的数字:如果一个源文件有多个error,那么数字就代表error的个数并以红色字体来显示,warning也类似。
56 文件使用技巧12: 文件的拖入与拖出
VS Code在打开的状态下,支持对单个文件的拖入与拖出,当我们想要将某个文件复制到VS Code中,或者从VS Code中将某个文件复制到别的地方,这种方式将显得非常简单。
对于文件的拖入,有两种不同的效果:第一,如果我们是将某个文件拖入Editor区域,那么仅仅是在VS Code中打开这个文件;第二,如果我们是将这个文件拖入Explorer的文件列表区域,那么这个文件将会被复制到VS Code中。
对于文件的拖出,我们可以在文件列表中选择某个文件,或者是在Editor的Tab区域选择某个文件,然后将这个文件拖入其它的地方,比如桌面,那么一旦释放鼠标,这个文件就会被复制一份到指定的地方。
57 文件使用技巧13: 文件内容的自由缩放
VS Code的Editor的区域支持文件内容的自由缩放,我们可以利用这个功能,快速调整代码的字体大小。
为了开启这个功能,我们需要配置一个设置项,在Setting里搜索“mouse wheel zoom”,找到这一项并将它打为勾,这样我们就开启了这个功能。
使用的时候,我们首先需要打开项目里的某个文件,将鼠标定位到其中某一行,按住Ctrl键同时滚动鼠标滚轮,这时候就能看到文件的内容被自由的缩放了。
如果你没有使用鼠标而是在使用触控板,那么只需要使用缩放手势(大部分触控板使用两个手指做开合的动作)就可以完成同样的操作。
58 文件使用技巧14: 配置项-Compact Folders
如果一个文件夹下面只有一个文件夹,这时候VS Code默认采用横向的方式在文件列表中显示这个文件夹,有时候我们可能希望改变这种显示方式,采用一般的竖向显示。
为了改变这种默认的显示方式,我们可以在Settings里面搜索“Compact Folders”,找到配置项“Explorer:Compact Folders”,将默认的勾取消掉即可。
59 文件使用技巧15: Screencast Mode
VS Code里有一个特殊的功能叫做“Screencast Mode”,一旦我们将它开启,当我们的鼠标在源文件中移动时,VS Code会以一个红色的圆圈来提醒,当我们在键盘上输入任何一个字符时,它也会在屏幕中即时显示出当前按键字符。当我们参加一个代码review会议或者是制作一些代码编辑技巧的视频教程时,这个功能将会显得格外有用,它可以让观众更好的接受我们想要表达的信息。
为了开启这个功能,首先我们需要打开“Command Palette”,接着在输入框中输入“screencast mode”,找到命令“Toggle Screencast Mode”然后执行,这样我们就开启了这个功能。为了关闭这个功能,我们只需要将这条命令再执行一遍就可以了。
60 文件使用技巧16: Save All
有时候我们想一次性保存所有的文件,为此,VS Code提供了多种实现方式。
方式一:通过菜单栏选项。File -> Save All。
方式二:通过快捷键。macOS是“Option + Mac + S”, Windows是“Ctrl + Shift + S”。
方式三:通过命令。打开Command Palette,输入“saveall”,找到命令“Save All”。
61 文件使用技巧17: 在Source Control中打开文件
在Source Control中,当我们点击某个文件,VS Code这时会打开差异视图,我们在对文件内容做对比的时候,如果发现需要对文件做继续修改,这时我们可以利用Source Control的“Open File”功能。
“Open File”这个功能键存在于两个地方,一个是顶部右上角第一个图标,还有一个是在文件名右侧第一个图标,点击它,我们就可以快速将这个文件打开。
62 文件使用技巧18: 在Source Control中调整文件的排序规则
Source Control中的文件显示顺序可以被调整,在修改文件过多的情况下,通过调整显示顺序,有时候会帮助我们更好的查看被修改的文件。
调整的方法是,在Source Control中点击右上角的三个点,之后点击“View & Sort”,就可以看到三个排序选项:
Sort by Name: 按照文件名进行排序,也就是a字母开头的文件名会在最前面,z字母开头的会在最后面。
Sort by Path:按照文件路径进行排序,也就是位于相同文件夹的文件会排在一起。
Sort by Status:按照Git状态进行排序,也就是相同的Git状态的文件会排在一起。
63 文件使用技巧19: 配置项-Wrap tab
当我们在VS Code中打开很多文件时,编辑器顶部的tab区域会被很快占满,占满之后就会出现滚动条,我需要移动滚动条才能查看其它已打开的文件。VS Code中有个配置项,一旦我们将它打开,将会采用换行而非滚动条的方式对tab区域进行展示,如果你是在一个比较大屏幕的外接显示器上使用VS Code,推荐打开这个配置项。
为了打开这个配置项,我们需要在Settings
里面搜索wrap tab
找到Editor: Wrap Tabs
这个选项,将它勾选即可。
64 文件使用技巧20: 配置项-Files exclude
项目当中常常会存在一些我们在开发过程中无需关注的文件或文件夹,比如说包文件夹,构建产生的文件夹等等,这时,我们可以通过更改一个配置项将这些文件或文件夹通通隐藏,这样项目的文件列表就会显得更加干净整洁。
为了配置,我们需要在Settings
里面搜索files exclude
找到Files: Exclude
这个选项,接着点击Add Pattern
按钮新增一个隐藏配置项。
为了减少影响范围,建议在Workspace
范围下修改这个配置项。
65 文件使用技巧21: Open in editor
在VS Code中做搜索时,搜索结果会出现在sidebar中,我们可以通过点击sidebar列出的每一项来查看搜索结果详情。这是VS Code提供的默认方式,需要我们对每一个搜索结果项先手动点击再查看详情。除了这种方式,查看搜索结果时,VS Code还提供了另外一种较为简便的方式,叫做“Open in editor”。
在sidebar的搜索结果列表的最上方,我们可以看见一个按钮叫做“Open in editor”,点击它就可以将当前搜索结果在一个新的editor中显示,这时所有的搜索结果就会在这一个editor中显示,方便我们更快的查看所有的搜索结果。
66 文件使用技巧22: Search editor context
在上一节课,我们学习了利用“Open in editor”就可以新打开一个editor,在这个editor中,VS Code会一次性显示所有的匹配项,这一节课,我们来进一步学习下这个editor顶部的几个功能项,它可以帮助我们快速调整匹配项的参考上下文。
有时候,为了判断匹配项是否真的是我们想要找的结果,我们需要利用匹配项周围的一些代码来协助我们做判断,VS Code默认会显示匹配项的上一行和下一行,如果我们希望VS Code能够提供更多的上下文,我们就可以利用顶部右侧倒数第二个选项,点击它或者直接输入数字就可以调整上下文了。
在有些情况下,我们可能不希望有匹配项上方或下方代码的干扰,我们就可以点击顶部最右侧的选项,这样就可以只显示匹配项这一行。
67 文件使用技巧23: 保存Search Editor
在前面两节课中,我们学习了利用Search中的“Open in editor”选项,它可以打开一个新的Editor,在这个Editor中,可以一次性显示所有的匹配结果,这个Editor其实是有名字的叫做“Search Editor”。“Search Editor”有个非常特殊的功能,就是可以被单独保存,这一节课我们就来学习一下它的使用方法以及使用场景。
为了保存“Search Editor”,我们只需要按保存快捷键(Mac是cmd+s, Windows是ctrl+s),这样VS Code会提示我们新建一个“.code-search”后缀名的文件,这种后缀名的文件可以被VS Code直接打开。
在以下两种场景下,我们可以选择保存“Search Editor”:
频繁的搜索相同的词。
搜索词或搜索条件较为复杂。
68 文件使用技巧24: 使用搜索历史记录
当我们在VS Code中做搜索时,VS Code其实会记录我们的每一次搜索词,因此当我们在做搜索的时候,如果想利用曾经输入过的搜索词,而不想再次手动输入一遍,我们就可以直接使用VS Code所记录下的搜索历史记录。
使用方法很简单,只需要在搜索输入框中按“向上箭头键”。
另外,类似的功能,VS Code的Source Control的Message输入框也支持。
69 文件使用技巧25: 在Explorer中搜索文件
在VS Code中,当我们想要搜索某个文件的时候,在知道文件名的情况下,我们有多种方式可以实现,前面第45课我们有介绍一些方法,这一节课我们来学习另一种方法,它可以让我们直接在VS Code的Explorer中的文件列表中进行文件搜索,帮助我们从文件列表的众多文件中,过滤出那些自己想要的文件。
使用方法很简单,首先我们需要确保文件列表处于激活状态,这个激活状态我们有两种方法可以实现,一是随便点击文件列表中的某个文件,二是在文件列表的空白处单击一下。
处于激活状态下,我们就可以直接输入文件名的关键词,这时候就可以在Explorer的右上方看到自己输入的关键词,同时VS Code会将匹配到结果(文件或文件夹)进行高亮。
将鼠标hover在右上角的关键词上时,这时候会显示出两个功能键,右侧的“叉”,点击后用于清除此次搜索,而左侧的“三条横杠”,点击后会过滤出匹配到的结果,这个功能非常有用,当我们的文件过多的时候,匹配到的文件可能有多个且分布的比较散,即使VS Code对它们进行了高亮,我们也很难一次性看清所有的匹配结果,使用这个功能后,就可以让Explorer中只显示匹配结果,帮助我们快速找到想要的文件。
70 文件使用技巧26: Find in selection
当我们在一个大文件中做搜索或替换时,可能会发现匹配结果有很多,而过多的匹配结果会有碍我们找到真正的匹配项。面对这种情况,如果我们确定想要搜索或替换的内容存在某一片代码区域,我们就可以利用“Find in selection”选项来缩小匹配范围,帮助我们更快的找到想要的匹配项,这一节课我们就来看下如何使用这个功能。
使用方法很简单:
打开单个文件搜索功能(Win:Ctrl+F;Mac:Cmd+F)
用鼠标选择一片想要搜索的区域
单击搜索工具栏右数第二个功能键
71 文件使用技巧27: 替换时使用保留大小选项
在做替换操作时,VS Code的Replace输入框右侧有一个高级选项,上面标有“AB”的字样,这一节课我们就来学习下它的用法,有些情况下,使用这个选项可以带来很大的帮助。
这个选项的名字叫做Preserve Case,翻译成中文就是“保留大小写”。它的具体作用是:当我们做替换操作时,匹配结果中如果包含了一部分大小写不一致的匹配项,使用Preserve Case可以让替换值也跟随原本的大小写规则。
一个常见的使用场景是,为一个类以及同名的类的实例变量更换一个名字。
72 文件使用技巧28: 多行搜索与替换
在做搜索或是替换操作时,有时候我们希望输入的内容能够换行,这一节课我们就来学习下换行的小技巧。
为了支持换行,有两种方式可以实现:
1:在需要换行的时候,按下“ctrl+enter”键。
2:手动在VS Code中复制那段需要匹配的多行内容,并粘贴在搜索输入框中。
73 文件使用技巧29: 使用github.dev快速打开Github仓库
当我们在Github上查看某个仓库时,我们可以使用一个快捷键快速将这个项目在一个基于浏览器版的VS Code中打开,这样我们就可以利用VS Code强大的文件搜索能力快速找到想要的文件。
这个快捷键非常简单,只需要按一下键盘上的点 . 键即可。(需要注意的是,你需要先登陆Github,才能使用这个快捷键。)
顺便说一下,这个基于浏览器的VS Code其实背后用的是Github的Codespaces,它可以为开发者提供基于云端的IDE。如果你对此感兴趣,可以前往https://github.dev查看详情。
74 文件使用技巧30: 使用双击快速创建文件
VS Code有一种快速创建文件的方法,就是通过鼠标双击,这一节课,我们来学习它的两种不同应用场景。
第一种是创建一个临时文件,当我们将所有文件tab都关闭时,这时候对Editor区域进行双击,就可以创建一个临时文件。
第二种是在项目根目录下创建一个文件,当我们在项目列表的空白区域双击时,就会出现文件名输入框,输入完文件名,文件就被创建完成。如果结合第52课文件使用技巧8: 快速创建文件或文件夹学到的知识,我们还可以在快速创建文件的同时,也将文件所属的文件夹也一并创建。
75 文件使用技巧31: 配置新建文件的默认语言
当我们在VS Code中新建一个临时文件的时候,默认这个临时文件采用的文件类型是Plain Text
,类似txt文件类型,而当我们发现自己每次新建的临时文件并不希望是Plain Text
,而是比如:json、markdown、javascript等,相较于Plain Text
这些文件类型可以让输入的内容有语法高亮、智能提示等功能。面对这种情况,为了避免每次都手动的将Plain Text
调整为期待的文件类型,我们可以通过配置来更改新建临时文件的文件类型。
我们可以通过输入关键词“files default language”在Settings中找到这个配置项,之后在输入框中填入想要的文件类型即可,比如填写markdown
后,新建临时文件的默认类型就改为markdown了。
另外这个输入框还支持填入一个特殊的值:${activeEditorLanguage}
,它的意思是新建临时文件的类型动态的来自于当前被激活的文件。
76 文件使用技巧32: 打开历史项目快捷键
在项目开发的过程中,我们有时候想打开之前的某个项目,这一节课我们就来学习一下在VS Code中如何通过快捷键来快速打开某个历史项目。
这个快捷键是: Ctrl+R.
使用这个快捷键后,页面会显示一个弹窗,使用这个窗口我们可以完成以下几件事:
查看所有历史项目。
当历史项目过多时,我们可以通过顶部的输入框,输入关键词来对项目名称进行过滤。
在打开某个项目的时候,可以通过配合其它按键来选择是新建一个窗口,还是覆盖当前窗口。
77 文件使用技巧33: 将VS Code设置为Git GUI的默认编辑器
这一节课,我们来学习如何将VS Code设置成常见Git GUI的默认编辑器。设置之后,当我们在Git GUI中查看项目时,如果想对项目进行编辑,就可以很方便的将项目
在VS Code中打开。我将介绍三种Git GUI的配置方式,分别是:Github Desktop、Gitkraken和Sourcetree。
1. Github Desktop
设置路径:Preferences > Integrations > External Editor
2. Gitkraken
设置路径:Preferences > General > External Editor
3. Sourcetree
设置路径:Preferences > Custom Actions
Menu Caption: Open in VS Code
Shortcut: Ctrl+o
Script to run: code
Parameters: $REPO
最后补充一个知识点:对于Github上一个项目,可以有多种方式将它在一个外部的编辑器中快速打开。
1. .
: 使用按键”点”
2. 1s
: 手动更改URL,例如:
https://github.com/vscodecool/vscodecool.github.io
https://github1s.com/vscodecool/vscodecool.github.io
3. box
: 手动更改URL,例如:
https://github.com/vscodecool/vscodecool.github.io
https://githubbox.com/vscodecool/vscodecool.github.io
这比较适合于静态HTML或者是webapp。
78 文件使用技巧34: 将VS Code设置为Git Commit的默认编辑器
如果我们是使用Git命令来做Commit操作,面对较长commit message
的情形,我们可以直接使用git commit
命令,这样Git会打开一个文本编辑器来让我们编写commit message
,默认情况下Git会使用Vim这款编辑器。这一节课,我们来学习一下如何将VS Code配置为Git Commit的默认编辑器。
配置方法很简单,首先需要确保code命令已经存在,之后只需要执行下面这条命令即可:
git config --global core.editor "code --wait"
79 文件使用技巧35: 使用Timeline查看任意两个commit的差异
VS Code的Timeline会显示出某个文件的所有git提交记录,有时候我们想查看任意两个commit之间的差异,这一节课,我们就来学习如何实现这一操作。
实现方式分两步:
右键要比较的第一个commit,选择Select for Compare
。
右键要比较的另一个commit,选择Compare with Selected
。
这样,VS Code就会打开一个差异视图,高亮这两个commit之间的差异。
80 文件使用技巧36: 使用code命令查看两个文件的差异
为了查看两个文件在内容上的差异,我们在前面的50 文件使用技巧6: 文件比较已经学过一种方法,这一节课我们来学习另外两种方法。
方法二和上一节课的查看任意两个commit之间差异
的方式一致:
右键要比较的第一个文件,选择Select for Compare
。
右键要比较的另一个文件,选择Compare with Selected
。
方法三是使用code -d
命令。例如,如果要比较a.txt
和b.txt
两个文件,只需要在命令行中输入以下命令即可:
code -d a.txt b.txt
81 文件使用技巧37: 利用临时文件查看差异
在项目开发的过程中,如果我们需要查看两段文本的差异,而这两段文本并不来自于项目当中的两个文件,这时候我们可以借助新建两个临时文件的方式,将比较在临时文件中进行,比较完成之后再对两个临时文件进行销毁。
具体做法是:新建两个临时文件,将两段文本分别粘贴到临时文件1和临时文件2中,然后:
右键第一个临时文件,选择Select for Compare
。
右键另一个临时文件,选择Compare with Selected
。
82 文件使用技巧38: Run Active File
对于一些脚本语言所编写的代码文件,比如.js
、.py
、.ruby
等文件,在VS Code中,我们其实是可以通过运行一条叫做Run Active File In Active Terminal
的命令,就可以直接执行这个文件并将结果显示到VS Code内建的Terminal当中。
这一节课,我们就来学习一下它的的具体使用方法和注意事项。
首先,调用方法是:在Command Palette中输入Run Active
找到命令Run Active File In Active Terminal
这条命令并执行。
其次,关于Shebang的写法在macOS、Windows、Linux上会有不同,如果需要使用这种方式来运行某个文件,最好事先在网上搜下相关的shebang的写法。
我这里给出几个macOS上shebang的写法:
1.nodejs
#!/usr/bin/env node
console.log('hello world from node');
2.python
#!/usr/bin/env python3
print("hello world from python");
3.ruby
#!/usr/bin/env ruby
puts "hello world from ruby";
注意:在macOS上,需要先使用chmod +x 文件名
来将文件变成可执行文件。
83 文件使用技巧39: 快速寻找出错点
程序错误时,通常错误信息中会包含出错的文件名以及出错点的所在行和所在列,这一节课我们就来学习一下,如何利用这些信息快速在VS Code中定位错误所在地。
下面的内容就是一段错误信息的示例:
demo.c:4:24: error: expected ';' after expression
puts("hello world")
1 error generated.
其中demo.c:4:24
,就在告诉我们,发生错误的文件名叫”demo.c”,错误点在它的第4行第24列。大部分的编程语言或框架在出现错误时,都会以类似的形式来告诉我们是哪里出了问题。
有了,文件名、行、列这三个信息,下面我们就来分两个场景看一下如何快速的定位出错点:
场景一:错误文件已在VS Code中打开
因为错误文件已经被打开了,所以只需要跳转到指定的行与列就行,这时,我们可以使用快捷键Ctrl+G,接着在弹出框中输入line:column
,最后回车。
场景二:错误文件尚未被打开
使用Quick Open
快捷键,在macOS上是Cmd+P;在windows上是Ctrl+P,接着在弹出框中输入name:line:column
(P.S 这里的name
不需要完整书写,只需要保证搜索结果列表的第一项就是我们要找的文件即可),最后回车。
84 文件使用技巧40: 快速寻找出错点2
程序运行时的错误信息如果是在命令行中进行输出,那么,会有更简单的方式,来让我们快速定位到出错点,这一节课我们就来学习一下相关的使用技巧。
如果使用VS Code内建的Terminal
将鼠标悬浮在出错文件的上方,接着,如果是macOS,按住Cmd,如果是windows,按住Ctrl,这时候文件名的下方应该会出现下划线,最后只需要做一次单击,VS Code就会自动定位到出错文件以及具体的行和列。
如果使用外部的Terminal
使用code命令,加上--goto
参数:
code --goto demo.c:4:24
85 文件使用技巧41: 使用Revert File命令快速恢复文件修改
当对一个文件进行了多次修改(尚未进行保存),之后又突然想撤销这几处修改,除了使用撤销键,我们还可以使用一个命令,叫做Revert file
。
它可以一次性将文件恢复到上一次的保存状态。
86 文件使用技巧42: 使用Go to Match命令快速跳转到搜索匹配项
在做搜索的时候,有时候匹配项可能会有很多,为了能够快速跳转到某一处匹配项,我们可以利用一条命令叫做:Go to match
.
使用1
跳转到第一处匹配项。
使用-1
跳转到最后一处匹配项。
87 文件使用技巧43: 使用New File选项创建指定类型的文件
在菜单项“File > New File…”或者使用命令Create: New File...
,就可以在创建文件的时候先选择一种文件类型,默认只有纯文本类型和Jupiter Notebook类型,当我们安装了一些第三方扩展之后,这里的文件选项也会相应的增多。
我们在项目开发的过程中,常常有些idea或者疑问需要验证,这时候我就可以利用这种方式创建一个相应的notebook来快速验证我们的想法。
88 文件使用技巧44: 两种方式自动将文件加入gitignore
方式一:在Source Control
视图中,鼠标右键文件,然后选择Add to .gitignore
。
方式二:首先打开文件,然后在Command Palette
输入ignore
找到命令Git: Add to .gitignore
并按回车。
PS:需要提醒的是,使用方式二之前,当前项目必须先被纳入Git管理,否则命令不存在
按住以下键的同时再进行滚动,滚动速度就会x5
macOS: option
windows: alt
90 文件使用技巧46: 使用Local History查看文件的修改历史记录
Timeline中除了有之前介绍过的Git history
,也有不依赖Git的Local History
,通过它可以查看每个文件的修改历史记录。
这样,当我们不小心对文件的内容做了删除,通过这个功能就可以快速将文件内容恢复到之前的状态。
91 文件使用技巧47: 找回被不小心删除的文件
如果一个重要的文件被我们不小心删了,在没有使用Git的情况下,我们可以通过“在同一个目录下新建一个同名的文件”的方式,在Timeline
的Local history
中找回这个文件。
另外,也可以进入下面的Local history
的保存目录,直接找到某个版本的源文件。
macOS: cd ~/Library/Application\ Support/Code/User/History && open .
windows: cd %APPDATA%\Code\User\History && explorer .
92 文件使用技巧48: 临时文件的保存位置
我们常常在项目当中通过新建一个临时文件来记录一些临时的代码或者笔记,这个临时文件即使我们没有手动的保存过,当我们再次打开这个项目,它也会显示出来,原因就是VS Code会自动将临时文件保存在磁盘当中,具体的位置是:
macOS: cd ~/Library/Application\ Support/Code/Backups && open .
windows: cd %APPDATA%\Code\Backups && explorer .
这样当我们想要查看某个重要的临时文件,而又忘记了它存在于哪个项目当中,这个时候,我就可以直接进入临时文件的保存目录去寻找我们想要的文件。
93 文件使用技巧49: 使用Collapse让项目目录看起来更加的简洁
在项目开发的过程中,随着打开文件的增多,Explorer区域的垂直方向的空间会被占用的越来越多,整个项目目录会看起来非常的杂乱,这就会阻碍我们快速找到某个想要打开的文件。这时候,我们可以使用Explorer顶部工具栏的最右侧的Collapse
功能,点击就可以一次性折叠所有的文件夹。
94 文件使用技巧50: 快速查看修改点
修改了某个文件之后,在按保存之前,有时候我们会突然想了解一下刚刚到底对文件做了哪些变更。面对这种情况,我们就可以使用命令Compare Active File with Saved
,使用它,VS Code就会打开一个差异视图,差异视图的左边是上一次的保存版本,右边是当前未保存的版本。通过这个差异视图,就可以很方便的查看所有的修改点,以及快速取消某一处修改点。
95 文件使用技巧51: 使用F2快速修改文件名
在修改文件名的时候,按下F2,会进行下面的循环:
名称及后缀被选中
仅后缀被选中
仅名称被选中
当你只想修改名称或者后缀的时候,使用F2会很方便。
96 文件使用技巧52: 粘贴
从1.85版本开始,VS Code开始支持粘贴来自从文件系统中的复制。这个功能非常有用,将大大方便我们把文件或者文件夹直接添加到项目当中。
Windows: Ctrl C, Ctrl V
macOS: Cmd C, Cmd V
第四章 自定义VS Code
第五章 代码编辑技巧
第六章 开发中的具体使用
第七章 通用扩展推荐
第八章 扩展的开发与发布