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

相关推荐
玩电脑的辣条哥2 小时前
Python如何播放本地音乐并在web页面播放
开发语言·前端·python
ew452182 小时前
ElementUI表格表头自定义添加checkbox,点击选中样式不生效
前端·javascript·elementui
suibian52352 小时前
AI时代:前端开发的职业发展路径拓宽
前端·人工智能
Moon.92 小时前
el-table的hasChildren不生效?子级没数据还显示箭头号?树形数据无法展开和收缩
前端·vue.js·html
垚垚 Securify 前沿站2 小时前
深入了解 AppScan 工具的使用:筑牢 Web 应用安全防线
运维·前端·网络·安全·web安全·系统安全
工业甲酰苯胺5 小时前
Vue3 基础概念与环境搭建
前端·javascript·vue.js
mosquito_lover16 小时前
怎么把pyqt界面做的像web一样漂亮
前端·python·pyqt
测试涛叔7 小时前
高级自动化测试常见面试题(Web、App、接口)
软件测试·面试
绝无仅有9 小时前
Deepseek 万能提问公式:高效获取精准答案
后端·面试·架构
柴柴的小记9 小时前
前端vue引入特殊字体不生效
前端·javascript·vue.js