diff --git a/00-前端工具/01-VS Code的使用.md b/00-前端工具/01-VS Code的使用.md index 7106ae8..5df5ba0 100644 --- a/00-前端工具/01-VS Code的使用.md +++ b/00-前端工具/01-VS Code的使用.md @@ -1,6 +1,8 @@ ## 前言 +> 本文首发于博客园。最新内容将在[GitHub](https://github.com/qianguyihao/Web)上实时更新。欢迎在GitHub上关注我,一起入门和进阶前端。 + VS Code 本来是前端人员专用,但由于它实在是太好用了,于是,各种开发方向的码农也正在用 VS Code 作为他们的主力编程工具。甚至是一些写作的同学,也把 VS Code 作为 markdown 写作工具。 写下这篇文章,是顺势而为。 @@ -29,13 +31,19 @@ VS Code 的全称是 Visual Studio Code,是一款开源的、免费的、跨 - 有一点你可能不知道,VS Code 这个客户端软件是用 js 语言开发出来的(具体请自行查阅关键字`Electron`)。有句话说得好:能用 js 实现的功能,最终一定会用 js 实现。 -### 前端利器之争: VS Code 与 idea +### 前端利器之争: VS Code 与 IntelliJ IDEA + +前端小白最喜欢问的一个问题是:那个编辑器/IDE 好用?是VS Code还是 IntelliJ IDEA? + +如果你以后还这么问,那就真有些掉底了。我来做个对比: - **哪个更酷**:显然 VS Code 更酷。 - **内存占用情况**:根据我的观察,VS Code是很占内存的(尤其是当你打开多个窗口的时候),但如果你的内存条够用的话,使用起来是不会有任何卡顿的感觉的。相比之下,idea 不仅非常占内存,而且还非常卡顿。 -- **使用比例**:当然是 VS Code 更胜一筹。比如说,我目前所在的前端团队有100人左右,绝大部分前端同学都在用 VS Code,妥妥的。 +- **使用比例**:当然是 VS Code 更胜一筹。先不说别的,我就拿数据说话,我目前所在的前端团队有100人左右,绝大部分前端同学都在用 VS Code,妥妥的。 + +所以,如果你以后还问这个问题,那就真有些掉底了。 ## VS Code 的安装 @@ -47,43 +55,11 @@ VS Code 的安装很简单,直接去官网下载安装包,然后双击安装 上图中,直接点击 download 下载安装即可。 -## 命令面板 - -Mac用户按住快捷键 `Cmd+Shift+P` (Windows用户按住快捷键`Ctrl+Shift+P`),可以打开命令面板。效果如下: - -![](http://img.smyhvae.com/20190329_1750_2.png) - -命令面板有很多强大的功能,这里列举一些。 - -### 字体设置 - -如果们需要搜索各种设置项,就可以用到命令面板。比如说,在命令面板输入“字体”,可以进行字体的设置,效果如下: - -![](http://img.smyhvae.com/20190329_2110.png) - -### 快捷键设置 - -在命令面板输入“快捷键”,就可以进入快捷键的设置。 - -### 修改文本的大小写 - -选中文本后,在命令面板中输入 transfrom,就可以修改文本的大小写了。 - -![](http://img.smyhvae.com/20190414_1751.png) - -## 文件对比 - -VS Code 默认支持**对比两个文件的内容**。选中两个文件,然后右键选择「将已选项进行比较」即可,效果如下: - -![](http://img.smyhvae.com/20190329_1756.png) - -VS Code自带的对比功能并不够强大,我们可以安装插件`compareit`,进行更丰富的对比。比如说,安装完插件`compareit`之后,我们可以将「当前文件」与「剪切板」里的内容进行对比: - -![](http://img.smyhvae.com/20190329_1757.png) - ## VS Code快捷键 -### 快捷键:移动光标 +VS Code用得熟不熟,首先就看你是否会用快捷键。以下列出的内容,都是常用快捷键,而加粗部分的快捷键,使用频率则非常高。 + +### 移动光标 | Mac快捷键 | Win快捷键 | 作用 | 备注 | |:-------------|:-------------|:-----|:-----| @@ -102,7 +78,7 @@ VS Code自带的对比功能并不够强大,我们可以安装插件`compareit - 「Cmd + Shift + \」:在**代码块**之间移动光标。 -### 快捷键:删除操作 +### 删除操作 | Mac快捷键 | Win快捷键 | 作用 | 备注 | |:-------------|:-------------|:-----|:-----| @@ -110,12 +86,11 @@ VS Code自带的对比功能并不够强大,我们可以安装插件`compareit | option + backspace | | 删除光标之后的一个单词 | | | **Cmd + delete** | | 删除光标之前的整行内容 | 很常用 | | Cmd + backspace | | 删除光标之后的整行内容 | | -| --- | --- |--- | --- | | Cmd + shift + K | Ctrl + Shift + K | 删除整行| 按「Cmd + X」也可以删除整行,虽然它的作用是剪切 | 备注:上面所讲到的移动光标、删除操作的快捷键,在其他编辑器里,也是同样的操作。 -### 快捷键:编辑操作 +### 编辑操作 | Mac快捷键 | Win快捷键 | 作用 | 备注 | |:-------------|:-------------|:-----|:-----| @@ -123,7 +98,7 @@ VS Code自带的对比功能并不够强大,我们可以安装插件`compareit | **Option + ↑** | Alt + ↑| 将代码向上移动 | 很常用 | | **Option + ↓** | Alt + ↓| 将代码向下移动 | 很常用 | -### 快捷键:JS语言相关 +### JS语言相关 | Mac快捷键 | Win快捷键 | 作用 | 备注 | |:-------------|:-------------|:-----|:-----| @@ -133,7 +108,7 @@ VS Code自带的对比功能并不够强大,我们可以安装插件`compareit | Cmd + | | | | | Cmd + U | Ctrl + U | 将光标的移动回退到上一个位置 | 撤销光标的移动和选择 | -### 快捷键:跳转操作 +### 跳转操作 | Mac快捷键 | Win快捷键 | 作用 | 备注 | |:-------------|:-------------|:-----|:-----| @@ -142,16 +117,15 @@ VS Code自带的对比功能并不够强大,我们可以安装插件`compareit | **Ctrl + G** | | 跳转到指定行 | | | Cmd + Shift + O | Ctrl + shift + O | 在当前文件的各种**方法之间**进行跳转 | | -### 快捷键:搜索 +### 搜索 | Mac快捷键 | Win快捷键 | 作用 | 备注 | |:-------------|:-------------|:-----|:-----| |Cmd + F|Ctrl + F|在当前文件中搜索,光标在搜索框里|| -|**Cmd + G**|F3|在当前文件中搜索,光标仍在编辑器里|很实用| - +|Cmd + G|F3|在当前文件中搜索,光标仍在编辑器里|| |**Cmd + Shift + F**|Ctrl + Shift +F|全局搜索|很常用| -### 快捷键:多光标的使用 +### 多光标的使用 **技巧1**:按住 「Option」键(windows 用户是按住「Alt」键) ,然后在页面中希望中现光标的位置点击鼠标。 @@ -163,10 +137,22 @@ VS Code自带的对比功能并不够强大,我们可以安装插件`compareit 按住快捷键「Cmd + Shift + P」,弹出命令面板,在命令面板中输入“快捷键”,可以进入快捷键的设置。 -当然,我们也可以选择菜单栏「偏好设置 --> 键盘快捷方式」,进入快捷键的设置: +当然,你也可以选择菜单栏「偏好设置 --> 键盘快捷方式」,进入快捷键的设置: ![](http://img.smyhvae.com/20190329_2120.png) +### 快捷键列表 + +你可以点击 VS Code 左下角的齿轮按钮,效果如下: + +![](http://img.smyhvae.com/20190418_1738.png) + + +上图中,在展开的菜单中选择「键盘快捷方式」,就可以查看和修改所有的快捷键列表了: + +![](http://img.smyhvae.com/20190418_1739.png) + + ## VS Code 的常见设置项 ### 面包屑(Breadcrumb) @@ -183,19 +169,19 @@ VS Code自带的对比功能并不够强大,我们可以安装插件`compareit ### 是否显示代码的行号 -VS Code 默认显示代码的行号。我们可以在设置项里搜索 `editor.lineNumbers`进行设置,配置项如下: +VS Code 默认显示代码的行号。你可以在设置项里搜索 `editor.lineNumbers`修改设置,配置项如下: -20190417_2140.png +![](http://img.smyhvae.com/20190417_2140.png) ### 右侧是否显示代码的缩略图 -VS Code 会在代码的右侧,默认显示缩略图。我们可以在设置项里搜索 `editor.minimap`进行设置,配置项如下: +VS Code 会在代码的右侧,默认显示缩略图。你可以在设置项里搜索 `editor.minimap`进行设置,配置项如下: -20190417_2156.png +![](http://img.smyhvae.com/20190417_2156.png) ### 将当前行代码高亮显示 -当我们把光标放在某一行时,这一行的背景色并没有发生变化。如果想**高亮显示**当前行的代码,我们可以在设置项里搜索`editor.renderLineHighlight`进行设置。配置项如下: +当我们把光标放在某一行时,这一行的背景色并没有发生变化。如果想**高亮显示**当前行的代码,你可以在设置项里搜索`editor.renderLineHighlight`进行设置。配置项如下: 我设置完之后,发现效果不是很明显。有待优化。 @@ -205,45 +191,89 @@ VS Code 会根据你所打开的文件来决定该使用空格还是制表。也 常见的设置项如下: -**editor.detectIndentation**:自动检测(默认开启)。截图如下: +- **editor.detectIndentation**:自动检测(默认开启)。截图如下: -20190417_2205.png +![](http://img.smyhvae.com/20190417_2205.png) -**editor.insertSpaces**: 。截图如下: +- **editor.insertSpaces**:按 Tab 键时插入空格(默认)。截图如下: -20190417_2207.png +![](http://img.smyhvae.com/20190417_2207.png) -**editor.tabSize**。截图如下: +- **editor.tabSize**:一个制表符默认等于四个空格。截图如下: -20190417_2209.png +![](http://img.smyhvae.com/20190417_2209.png) ### 改完代码后立即保存 -改完代码后,默认不会自动保存。我们可以在设置项里搜索`files.autoSave`,修改配置项如下: +改完代码后,默认不会自动保存。你可以在设置项里搜索`files.autoSave`,修改配置项如下: -20190417_2216.png +![](http://img.smyhvae.com/20190417_2216.png) 上图中,我们将配置项修改为`onFocusChange`之后,那么,当光标离开该文件后,这个文件就会自动保存了。**非常方便**。 ### 保存代码后,是否立即格式化 -保存代码后,默认**不会立即**进行代码的格式化。我们可以在设置项里搜索`editor.formatOnSave`查看该配置项: +保存代码后,默认**不会立即**进行代码的格式化。你可以在设置项里搜索`editor.formatOnSave`查看该配置项: -20190417_2213.png +![](http://img.smyhvae.com/20190417_2213.png) 我觉得这个配置项保持默认就好,不用修改。 ### 新建文件后的默认文件类型 -当我们按下快捷键「Cmd + N」新建文件时,VS Code 默认无法识别这个文件到底是什么类型的。如果你想修改默认的文件类型,可以在设置项里搜索`files.defaultLanguage`,设置项如下: +当我们按下快捷键「Cmd + N」新建文件时,VS Code 默认无法识别这个文件到底是什么类型的,因此也就无法识别相应的语法高亮。如果你想修改默认的文件类型,可以在设置项里搜索`files.defaultLanguage`,设置项如下: -20190417_2221.png +![](http://img.smyhvae.com/20190417_2221.png) 上图中的红框部分,填入你期望的默认文件类型。我填的是`html`类型,你也可以填写成 `javascript` 或者 `markdown`,或者其他的语言类型。 +### 删除文件时,是否弹出确认框 + +当我们在 VS Code 中删除文件时,默认会弹出确认框。如果你想修改设置,可以在设置项里搜索`xplorer.confirmDelete`。截图如下: + +![](http://img.smyhvae.com/20190418_1758.png) + +我建议这个默认设置项可以保留,不用修改。 + +## 命令面板的使用 + +Mac用户按住快捷键 `Cmd+Shift+P` (Windows用户按住快捷键`Ctrl+Shift+P`),可以打开命令面板。效果如下: + +![](http://img.smyhvae.com/20190329_1750_2.png) + +如果们需要修改一些设置项,可以通过「命令面板」来操作,效率会更高。这里列举一些。 + +### 字体设置 + +在命令面板输入“字体”,可以进行字体的设置,效果如下: + +![](http://img.smyhvae.com/20190329_2110.png) + +当然,你也可以在菜单栏,选择「首选项-设置-常用设置」,在这个设置项里修改字体大小。 + +### 快捷键设置 + +在命令面板输入“快捷键”,就可以进入快捷键的设置。 + +### 大小写转换 + +选中文本后,在命令面板中输入`transfrom`,就可以修改文本的大小写了。 + +![](http://img.smyhvae.com/20190414_1751.png) + ## VS Code 的常用技巧 -### 查找某个函数被在哪些地方被调用了 +### 文件对比 + +VS Code 默认支持**对比两个文件的内容**。选中两个文件,然后右键选择「将已选项进行比较」即可,效果如下: + +![](http://img.smyhvae.com/20190329_1756.png) + +VS Code自带的对比功能并不够强大,我们可以安装插件`compareit`,进行更丰富的对比。比如说,安装完插件`compareit`之后,我们可以将「当前文件」与「剪切板」里的内容进行对比: + +![](http://img.smyhvae.com/20190329_1757.png) + +### 查找某个函数在哪些地方被调用了 比如我已经在`a.js`文件里调用了 `foo()`函数。那么,如果我想知道`foo()`函数在其他文件中是否也被调用了,该怎么做呢? @@ -269,7 +299,6 @@ VS Code 会根据你所打开的文件来决定该使用空格还是制表。也 选中某一段代码,这个时候,代码的左侧会出现一个「灯泡图标」,点击这个图标,就可以把这段代码提取为一个单独的函数。 - ### 在当前文件中搜索 在上面的快捷键列表中,我们已经知道如下快捷键: @@ -282,7 +311,7 @@ VS Code 会根据你所打开的文件来决定该使用空格还是制表。也 ![](http://img.smyhvae.com/20190415_2052.png) -上图中,我们可以通过「Tab」键和「Shift + Tab」键在输入框和替换框之间进行切换。 +上图中,你可以通过「Tab」键和「Shift + Tab」键在输入框和替换框之间进行切换。 「在选定内容中查找」这个功能还是比较实用的。你也可以在设置项里搜索 `editor.find.autoFindInSelection`,勾选该设置项后,那么,当你选中指定内容后,然后按住「Cmd + F」,就可以**自动**只在这些内容里进行查找。该设置项如下图所示: @@ -296,14 +325,206 @@ VS Code 会根据你所打开的文件来决定该使用空格还是制表。也 ![](http://img.smyhvae.com/20190415_2107.png) -上图中,我们可以点击红框部分,展开更多的配置项。 +上图中,你可以点击红框部分,展开更多的配置项。 + +### Git版本管理 + +VS Code 自带了 Git 版本管理,如下图所示: + +![](http://img.smyhvae.com/20190418_1850.png) +上图中,我们可以在这里进行常见的git 命令操作。如果你还不熟悉 **Git版本管理**,先去补补课吧。 +与此同时,我建议安装插件`GitLens`,它是 VS Code 中我最推荐的一个插件,简直是Git神器,码农必备。 + +### 将工作区放大/缩小 + +我们在上面的设置项里修改字体大小后,仅仅只是修改了代码的字体大小。 + +如果你想要缩放整个工作区(包括代码的字体、左侧导航栏的字体等),可以按下快捷键「**cmd +/-**」。windows用户是按下「ctrl +/-」 + +**当我们在给别人演示代码的时候,这一招十分管用**。 + +如果你想恢复默认的工作区大小,可以在命令面板输入`重置缩放`(英文是`reset zoom`) + +### 创建多层子文件夹 + +我们可以在新建文件夹的时候,如果直接输入`aa/bb/cc`,比如: + +![](http://img.smyhvae.com/20190418_2022.png) + + +那么,就可以创建多层子文件夹,效果如下: + +![](http://img.smyhvae.com/20190418_2023.png) + + +### .vscode 文件夹的作用 + +如果你发现项目的根目录下有一个`.vscode`文件夹,说明这个文件夹代表的是当前项目的配置。 + +这个文件夹里可能包含以下集中文件: + +- `settings.json`:工作空间设置。只针对当前项目有效。比如说,我可以在这里面要求当前项目的代码统一使用制表符,而不需要要求每一位码农去修改各自的配置文件。 + +- `sftp.json`:ftp文件传输的配置。 + +### 自带终端 + +我们可以按下「Ctrl + `」打开 VS Code 自带的终端。我认为内置终端并没有那么好用,我更建议你使用第三方的终端 **item2**, + +### markdown语法支持 + +VS Code自带 markdown 语法高亮,写完 md 文件之后,你可以点击右上角的按钮进行预览,如下图所示: + +![](http://img.smyhvae.com/20190418_1907.png) + + +你也可以在控制面板输入`Markdown: 打开预览`,直接全屏预览 markdown文件。 + +### Emmet in VS Code + +`Emmet`可以极大的提高 html 和 css 的编写效率,它提供了一种非常简练的语法规则。 + +举个例子,我们在编辑器中输入缩写代码:`ul>li*6` ,然后按下 Tab 键,即可得到如下代码片段: + +```html +