要是我配置VSCode之前知道这些就好了

原文链接:Things I wish someone would have told me about configuring VSCode

我将VSCode作为我的主编码工具已经超过五年了,现在我仍然在学习如何将它用的更好,我通常是通过试错的方式学习。这里有几个配置VSCode的注意点,我真希望有人早点告诉过我:

1. 使用 .gitignore_global 去忽略 .vscode 文件

.vscode 文件是一个工作区的特定配置。这个文件通常在你保存工作区配置之后就被加入到你的项目中。但是你要注意,这个配置只是你一个人的,你们团队的其他人可能用其他的工具或者对 VSCode 有不同的偏好,因此,你最好不要把它弄到 git 里面去。

你可以把配置加入到你项目的 .gitignore 里面去,但是这个配置放在那里并不合适,因为你的编辑器还有相关配置与代码应该是相互独立的。市面上有几十种编辑器,我们真的需要创建一个 .gitignore 文件去忽略所有编辑器的配置吗?

所以将配置放在 .gitignore 里并不好,而是将配置放到你的 .gitignore_global 文件里,这个专为你一个人服务,它控制了你电脑上所有项目的配置,所以你不需要担心不小心将配置文件上传到了git上。

应该始终在工作区级别启用格式化程序和linter扩展

一些 VSCode 的扩展是相当通用的,因此可以在所有项目中启用。

但是格式化程序和linter扩展(比如 eslint 和 prettier)并不通用,要结合具体项目。所以这些扩展应该只在工作区级别的范围被使用。

如果你想要这样配置的话,你应该先下载插件,然后立刻禁用,再然后打开工作区的配置。

同样的道理,你的"默认配置偏好"(选择你的格式化)也应该被配置为工作区级别。

总的来说,看看你所有的扩展程序并且问问自己:"我真的需要这个插件运行在我所有的项目上吗?" 如果不是(或者你不确定),那你就禁用他们的默认配置,然后在工作区级别启用。

内置的终端真的很棒!

VSCode 有内置终端。(因为我之前用 iTerm 用的很开心,我忽略了很久这个事情。

最终,我试了一下 VSCode 的终端,它把我从 iTerm 赢走了(它能涵盖大多数使用场景)。

为什么他能赢走我?:

  • 通过键盘按键就可以轻松控制显隐。(我在使用 iTerm 的时候有这个工作习惯,所以这个对我来说是必要的。)
  • 你可以很轻松的把terminal变成两边,我经常在一个terminal运行开发者服务器,在另一边你执行一些随机的终端指令(像git的东西,格式化,还有一些类似的任务)。真是贼方便。
  • 我项目的所有东西都放在一起(理论上来说,是在一个窗口里)。这使得我和team member远程结对编程很容易。我只需要共享屏幕他们就可以看到所有东西,如果我需要暂停开发,我只需要把窗口缩小就好了, 当我准备好再次进入开发,我打开就行。
  • 调试服务器端JavaScript就像启动一个"JavaScript调试终端"并在其中运行你的Node服务器一样容易。它非常简单,以至于我实际上使用内置的调试器而不是随机的console.log语句(说实话,后者效率较低)
  • 最后,你可以轻松地设置特定于工作区的环境变量。

稍微扩展一下关于环境变量的内容,在终端中运行printenv命令。您在其中是否看到了任何项目特定的密钥或tokens?

这就是为什么,有时候,一个项目会告诉你将项目特定的密钥或tokens添加到你的.bashrc文件中,但实际上它们不应该放在那里。将它们放在.bashrc文件中会使它们对该项目可用,但也会将这些值暴露给在任何终端中运行的任何脚本。

如果你需要为一个项目设置一些环境变量,只需将它们添加到你的VSCode工作区设置中即可。这样可以使它们在你的VSCode工作区的终端中可用,并在工作区之外不可用。而且,它们会保存在你的.vscode文件夹中,而这个文件夹会被.gitignore忽略,所以你不必担心它们会被提交到版本控制中。

这对于像机器人或API实验这样的小型项目非常完美。对于具有多个环境的大型项目,你可能需要设置一个特殊的位置来管理这些环境变量(例如 .env 文件)。

无论如何,我仍然用 iTerm 处理杂项,但是我这些天大多数的都用的是 VSCode 里的终端。

你可能并不需要 GitLens

GitLens 是VSCode拓展市场里最流行的应用之一,因为它有贼多关于git的功能,并且每个人都使用git。

但是你要注意,VSCode 已经增加了很多 git 的特性到主编辑器里了。

VSCode的内置的差异比较功能非常出色,冲突解决也很好用。现在,VSCode还有一个时间线视图,涵盖了Gitlens时间线的最有用的部分。

唯一还缺少的是责任追溯功能,但可以通过一个小型扩展来实现(我一直在使用 vscode-gitblame)。

如果你需要的话,GitLens也没有问题。但如果不需要它,那就减少了额外的负担,少了一个需要管理的扩展。

这基本上涵盖了我最近在VSCode中发现的大部分内容。

相关推荐
-seventy-2 分钟前
Ajax 与 Vue 框架应用点——随笔谈
前端
我认不到你18 分钟前
antd proFromSelect 懒加载+模糊查询
前端·javascript·react.js·typescript
集成显卡21 分钟前
axios平替!用浏览器自带的fetch处理AJAX(兼容表单/JSON/文件上传)
前端·ajax·json
焚琴煮鹤的熊熊野火30 分钟前
前端垂直居中的多种实现方式及应用分析
前端
我是苏苏1 小时前
C# Main函数中调用异步方法
前端·javascript·c#
转角羊儿1 小时前
uni-app文章列表制作⑧
前端·javascript·uni-app
大G哥1 小时前
python 数据类型----可变数据类型
linux·服务器·开发语言·前端·python
hong_zc2 小时前
初始 html
前端·html
小小吱2 小时前
HTML动画
前端·html
Xiao Fei Xiangζั͡ޓއއ2 小时前
一觉睡醒,全世界计算机水平下降100倍,而我却精通C语言——scanf函数
c语言·开发语言·笔记·程序人生·面试·蓝桥杯·学习方法