为什么要用工作区 链接到标题

VSCode 作为一个轻量的编辑器,对比 IDE 很多功能并非集成。如果想打造成一个 IDE,那么就需要安装很多扩展,然而扩展越多,管理起来也越发困难,VSCode 也就越发“笨重”,例如,当我进行 cpp 开发的时候,pythongo 的相关插件就不需要了,然而其默认也是开启的,我们当然可以手动关闭,有需要的时候再打开。然而,随着这样的扩展越来越多,手动控制扩展的开启与关闭就变得非常麻烦。

我认为 VSCode 的工作区(Work Space)诞生的一大重要原因就是扩展的管理。事实上,当我们打开 VSCode 的时候,其实就位于默认的工作区中。

工作区的创建 链接到标题

假设我只会在 ~/code/blog/zwyb_blog 目录下用 VSCode 写博客,那么我用 VSCode 打开 ~/code/python 目录,我就可以点击 File -> Save Workspace as,保存为 blog.code-workspace

目前,其内容如下:

{
	"folders": [
		{
			"path": "."
		},
	],
	"settings": {}
}

可以看到,内容分为了 folderssettings 两大类,folders 表示处于该工作空间的文件夹所在目录,我们可以点击 File -> Add Folder to Workspace 来添加其他项目文件夹目录到该工作区,例如我添加了 ~/code/blog/papermod 目录,添加后内容修改为如下:

{
	"folders": [
		{
			"path": "."
		},
		{
			"path": "../papermod"
		},
	],
	"settings": {}
}

遗憾的是,VSCode 中不支持在配置文件中直接设置扩展的激活与否,需要手动在 VSCode 的扩展视图中点击齿轮按钮,设置 Disable(Workspace)

可以先直接禁用所有的扩展,然后按需选择是仅在工作空间启用还是所有工作空间都启用,如下图所示:

4F48ly

r4dXH9

工作区的配置 链接到标题

VSCode 的配置文件的级别可以分为 UserWorkspaceFolder 三个级别,其中 Folder 级别表示文件夹下的 .vscode 文件夹中的 settings.json 文件。

配置文件的优先级为 Folder > Workspace > User,对于一个配置项,如果在更高优先级的配置文件中被设置了,那么该配置项会被覆盖。

例如,假设 ~/code/blog/zwyb_blog 目录下存在 .vscode/settings.json 文件,其内容为设置字体大小为 14blog.code-workspace 中的 settings 部分设置字体大小为 13,用户配置文件中设置字体大小为 12,则打开 blog.code-workspace 工作区,打开 zwyb_blog 目录下的文件,字体大小显示为 14,对于非 zwyb_blog 目录下的文件,例如 papermod 目录下的文件,则字体大小为 13

这里要注意的是,blog.code-workspace 中的设置内容,必须在你打开该工作空间时才会生效,例如 ~/code/blog/papermod 虽然位于 blog.code-workspace 中,但是 VSCode 直接打开该文件夹,blog.code-workspace 中的设置不会生效,该文件夹中的文件的字体仍为 12

此外,使用 VSCode Remote 也能打开远程机器上的工作空间,与本地机器的工作空间区别不大,具体效果留待读者探索了。