要是我配置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中发现的大部分内容。

相关推荐
郑州光合科技余经理8 分钟前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
小呆呆6661 小时前
副业搞起来,小说,漫画,漫剧的成本优化思路
前端·后端·面试
Dovis(誓平步青云)1 小时前
浇水提醒刚弹出又消失,植物状态别只存一个百分比
开发语言·前端·javascript·pdf·ecmascript·电脑
lsc_blog2 小时前
远程和居家办公的经历,技术简历上怎么摆
面试·职场和发展·重构·pdf·求职招聘
码艺-Alimjan2 小时前
Vben Admin 新增维吾尔语 Vben-Modal的关键坑之一
前端·javascript·vue.js
可乐鸡翅yeah_2 小时前
hls.js 手动自定义 http 请求 loader,修改请求头实战
开发语言·前端·javascript·网络协议·http·ecmascript·m3u8在线
IT_陈寒2 小时前
Vite静态资源导入这个坑我帮你们踩过了
前端·人工智能·后端
广州华水科技3 小时前
大坝安全监测解决方案:单北斗GNSS形变监测系统应用与维护
前端
时间的拾荒人3 小时前
Qt 事件机制全解析:从事件处理到事件过滤器
开发语言·qt·面试
yivifu3 小时前
中文古籍电子书注释集成
前端·javascript·python·beautifulsoup·epub