VSCode 配置
VSCode 通过配置文件(Profiles)来配置 VSCode 的行为。
配置文件内容
显示配置文件内容: 文件|首选项|配置文件|显示配置文件内容
配置文件(个人资料)视图: 查看|打开视图|个人资料
配置文件包括:
- 设置:
settings.json
- 键位映射:
keybindings.json
- UI状态:
globalState.json
- VSCode扩展:
extensions.json
- 个人资料:
profiles.json
- 代码片段:
[language].json
- 用户任务:
tasks.json
这些配置文件被统一放置在以下路径:
- Windows:
%APPDATA%\Code\User\profiles
- MacOS:
$HOME/Library/Application\ Support/Code/User/profiles
- Linux:
$HOME/.config/Code/User/profiles
如果有多套配置文件,他们以profiles/id
的形式保存,而具体特定配置文件的 id 可以在 profiles.json
中查看,profiles.json
是唯一的。
Tips
profiles 被翻译为个人资料,他实际上也是配置文件的意思,多个配置文件会在其中保存 id 信息。
创建配置文件
创建配置文件: 文件|首选项|配置文件|创建配置文件
VSCode 初始状态会包含一个默认配置文件(default)。我们也可以创建新的配置文件来定义不同的工作环境。VSCode 中允许存在多套不同的配置文件。
VSCode 还提供了一些配置文件模版,当我们复制创建配置文件时指定复制开源时可以指定这些模版。
Tips
工作区会记住应用的配置文件,因此通过切换不同的工作区来自动应用不同的配置。
部分配置文件(Partial Profile)
最初Issues 是希望引入配置文件继承,但是可能因为会导致兼容性问题使用了折中的 Partial Profile
机制来实现扁平化的配置文件继承:
- 在选择要在配置文件中配置的内容时不勾选就会继承 default 配置:
Tips
后面小字部分显示 正在使用默认配置文件
,即继承关系。
- 对于设置(settings.json)如果想要在所有配置文件中生效,可以
将设置应用于所有配置文件
:
他们最终会在 default 的 settings.json 中的 "workbench.settings.applyToAllProfiles"
属性中定义:
Tips
为了兼容,引入了 "workbench.settings.applyToAllProfiles"
配置,而不是直接将 "editor.fontSize": 16
放入其中。
- 对于扩展的继承,可以
将扩展应用于所有配置文件
:
Tips
Partial Profile
机制的继承是扁平化的,他们只能继承 default 配置文件。
配置文件同步
打开设置同步: 文件|首选项|设置同步已打开
设置同步视图: 查看|打开视图|设置同步
通常同步能够跨计算机来共享 VSCode 配置。整个同步过程可以在 设置同步
视图中查看:
上面能够显示很多信息:
- 所有创建的配置文件都会被同步,上面的 python 配置文件因为键位映射继承自 default 因此不在存在
- 个人资料属于 default 特有的,他里面记录了用户所有的配置文件 id 等信息
- 他们也保存了整个同步的历史信息,如果同步出现问题可以通过一个节点来恢复配置
- 已同步的计算中记录了哪些计算机被授权可以同步
配置同步数据
默认情况下有些特定于计算机或特定平台的配置不应该被同步,此时可以通过设置关闭它:
对应到配置文件中就是:
对于扩展也同样如此,他们在配置文件中表现是:
默认情况下,键位映射是按平台同步的,如果你的快捷键于平台无关,则需要通过设置来跨平台同步他们:
清空云同步内容
如果不想要或者需要重构整个配置,可以清空云同步:
个人配置
通过将键位映射到 default 配置文件中。而对于特定编程语言的构建自己的配置:
- 默认配置文件
- Python 配置文件
在编写配置文件的时候有一个需要注意,切换配置时已经打开的 settings.json 并不会自动切换,因此注意编辑的文件属于哪个配置文件的。一个好的方法就是在不同的配置文件中添加 // PYTHON
这样注释。