vscode-常规配置以及同步说明

分享:  

前言

我经常在项目开发过程中针对不同项目,甚至是相同项目的不同模块阶段,频繁调整配置以满足当时的需要,我觉得能够快速调整vscode配置满足开发人员需要,是一项必备技能。

这里就简单总结下vscode配置调整过程中,一些比较有价值的信息。

搜索配置项

  • 搜索修改过的配置项,可以按照 “@modified"进行过滤,
  • 搜索指定插件的话,可以按照”@ext:“进行过滤

设置优先级

配置项可以在不同的设置范围内进行覆盖。在下面的列表中,后面的范围会覆盖前面的范围:

  • 默认设置 - 这个范围代表未配置的默认设置值。
  • 用户设置 - 对所有的 VS Code 实例全局适用。
  • 远程设置 - 适用于用户打开的远程机器。
  • 工作区设置 - 适用于打开的文件夹或工作区。
  • 工作区文件夹设置 - 适用于多根工作区的特定文件夹。
  • 特定语言的默认设置 - 这些是由扩展提供的特定语言的默认值。
  • 特定语言的用户设置 - 与用户设置相同,但特定于某种语言。
  • 特定语言的远程设置 - 与远程设置相同,但特定于某种语言。
  • 特定语言的工作区设置 - 与工作区设置相同,但特定于某种语言。
  • 特定语言的工作区文件夹设置 - 与工作区文件夹设置相同,但特定于某种语言。
  • 策略设置 - 由系统管理员设置,这些值始终会覆盖其他设置值。

跨设备同步

Settings Sync功能,之前使用IDEA系列产品时,一来一个Settings Repository及插件来做这个事情,VSCode就方便多了,直接支持用户维度下的多份的同步,比如分别为macOS、Linux、Windows分别自定义一份配置。

同步的内容也很丰富:

  • 常规设置项
  • view
  • tasks
  • snippets
  • shortcuts
  • 甚至是UI状态都可以

而且可以精确控制每一个配置项是否参与同步,这个就很有用,比如要读本地机器的文件,但是文件路径在参与同步的设备上不同,那么该配置项就可以“取消设置同步”。

重置配置

  • 当该乱某个配置项时,可以选择齿轮按钮,点击弹出菜单然后选择“reset this setting”,或者从settings.json中直接删除该配置项
  • 可以直接在command pallete里选择 “reset settings” 命令,也可以直接将settings.json中内容全部删除

ps: settings.json文件,user level对应的配置文件路径为:

  • Windows %APPDATA%\Code\User\settings.json
  • macOS $HOME/Library/Application\ Support/Code/User/settings.json
  • Linux $HOME/.config/Code/User/settings.json

workspace层级的就在工程目录下的.vscode/ 目录下。

如果对经常调整的配置项进行修改,可能通过settings.json进行调节还会更方便些,但是调整后记得通过json插件对内容进行下按properties排序、格式化,方便后续维护,以及跨设备同步时解决冲突。

彻底卸载vscode

  • 一个是卸载程序
  • 一个是清空数据,包括本文提到的这些用户层级的配置信息。如果不卸载程序,删除这个.vscode数据目录,等效于重置配置了

修改主题 themes

这里的主题,其实可以细分为如下几块:

  • 代码颜色主题(color themes)
  • 文件图标主题(file icon themes)

颜色主题是大家经常使用的,比如dark theme、light theme的切换,vscode虽然自带了一些主题,但是众口难调,因此有很多第三方提供的颜色主题。目前为止我把stars数很多的都试了下,最后呢?

推荐直接安装这个主题库就可以了,https://marketplace.visualstudio.com/items?itemName=lakshits11.best-themes-redefined,它基本包含了所有最佳表现的主题。

ps: 文件图标主题,平时用的少写,但是建议选些比较主流的,这在和团队成员走读代码、浏览工程时可能会帮助打点。选一个好的文件主题是由帮助的,特别是和那些设计糟糕的比。

修改字体

  • 字体的选择
  • 字号的大小
  • 是否允许加粗、高亮、倾斜
  • 是否允许连字(font lignatures)

vscode中的UI字体、终端字体、编辑器字体等都是可以调节的,有一个不错的插件:https://marketplace.visualstudio.com/items?itemName=evan-buss.font-switcher,它简化了字体切换。

对于编程来说,mono字体基本是必须的,大家可以按需选择合适的字体、喜欢的字体、辨识度高、眼睛舒服的字体。

对于连字功能,我是比较抵触的,尽管看上去表意更清楚,我希望它能更简单点,尤其是在golang编译器不允许 c/c++ if a = b 写法的情况下。

本文总结

vscode的配置调整是开发人员在使用过程中经常用到的,即便是在同一个工程下也可能会因为当时所关注内容的不同对其进行调整,了解这些配置基础以及跨设备同步,是一个必备技能了。

参考内容

  1. Get Started - Settings, https://code.visualstudio.com/docs/getstarted/settings
  2. Get Started - Themes, https://code.visualstudio.com/docs/getstarted/themes