15 了解文件管理,什么是multi-rootworkspace

VS Code 的各个功能,都是基于当前打开的文件或者文件夹的。

怎么去理解这个概念呢?

打开 IDE 的时候,它们往往需要你创建一个工程,这个工程会生成一个特殊的工程文件。这个工程文件记载了这个项目有哪些相关的文件、项目的配置、构建脚本等等。这个文件记录着 IDE 管理工程的元信息,开发团队也能够通过共享这个工程文件保证成员工作环境的一致性。但是工程文件对用户体验就不太友好了,比如说项目文件可能对 IDE 的版本有所要求,项目文件损坏了 IDE 读取不了但是我们也不知道如何修复,等等。

VS Code 则选择了一种相对轻量,而且大家都易于理解的方式,那就是所有的操作都基于文件和文件夹。当你打开一个文件夹,VS Code 的核心功能就会对这个文件夹进行分析,并提供对应的功能。比如,在打开的文件夹下检测到有 .git 文件,就加载 Git 插件来提供版本管理的功能;或者发现文件夹下有 tsconfig.json ,就会激活 TypeScript 插件提供语言服务。

当 VS Code 没有打开任何文件夹的时候,它的颜色是紫色的。而如果在工作台中打开了某个文件夹,状态栏的颜色就会变成蓝色。

资源管理器

设置

explorer.autoReveal  默认是打开的。当你在编辑器里打开一个文件时,资源管理器里的列表会自动将选中这个文件,并且滚动列表,将这个文件项滚动到屏幕的中间,保证你能够看到。如果你不喜欢这个功能,可以将其关闭。

explorer.confirmDelete   默认也是打开的。当你在一个文件项上右键选择删除时,VS Code 会跳出一个确认窗口,询问你是否确实要删除此文件。

.vscode

VS Code 是基于文件夹来进行管理的,各个插件也会分析当前打开的文件夹,但这是不是也意味着 VS Code 其实对项目没有任何管理和配置的能力呢?

这跟 IDE 的工程文件的思路是一致的,把设置放在这个文件夹中,便于团队内部进行共享。但二者区别在于,VS Code 的绝大部分功能,不需要这些配置文件也能工作,同时,这些文件都尽可能保证易于阅读和修改。

VS Code 的配置文件都会放在一个子文件夹 .vscode 中,下面我们一起来看这个特殊的文件夹。

  • settings.json  配置文件  这个文件的作用和格式,跟我前修改的用户设置几乎是完全一样的。唯一的区别就在于这个文件的设置,只有当前这个文件夹在VS Code 中被打开时才会生效。
    这个文件的存在,很好地解决了个人喜好和项目规范之间的冲突。比如说我写代码的时候喜欢用空格,而不是制表符,这样的话,在我的个人设置里面就可以设置为永远使用空格。但是在VS Code的这个项目中,团队要求一定要都使用制表符,那我们就可以在 settings.json 中将这个配置写进去,而不是粗暴地要求每一位成员都去修改他们各自的配置文件。
  • launch.json  调试设置  它是用于说明如何调试当前文件夹下的代码
  • tasks.json  任务设置  关于 VS Code 任务系统的配置文件  把它们放在文件夹中甚至一并放入到代码仓库中,这样任何使用这个项目的工程师,都不用学习如何配置调试和配置任务系统就能运行代码了。

多文件夹工作区(multi-root workspace)

痛点在于他们经常需要同时对多个文件夹下的代码进行操作。但是 VS Code 关于单个文件夹的这种操作模式,要求了他们必须同时打开多个窗口,并不停地在它们之间切换。

在 VS Code 中打开一个文件夹,此时 VS Code 处于一个单文件夹的状态。调出命令面板,搜索 “将文件夹添加到工作区”,或者使用菜单,“文件 —> 将文件夹添加到工作区”,选择文件夹。此时在资源管理器里的标题栏里,你能看到“无标题 (工作区)”这样的文字,这说明当前的工作区已经有多个文件夹了,只是现在你还没有保存这个多文件工作区,也没有给它指定一个名字。

要保存这个工作区,接下来你可以调出命令面板,搜索“将工作区另存为” (save workspace as),VS Code 就会为这个工作区创建一个文件,这个文件的后缀名是 “code-workspace”。给这个工作区取名为 sample,然后指定在某个文件夹下保存。这样操作后,VS Code 就会在该文件夹下创建一个 sample.code-workspace 文件。

{
"folders": [
{
"path": "C:\\Users\\Administrator\\Desktop\\vscodefolder"
},
{
"path": "."
}
],
"settings": {}
}

这个 JSON 文件,默认有两个键(key)。

  • folders 文件夹  罗列的是这个多文件工作区里有哪些文件夹。这些文件夹的地址,是sample.code-workspace 文件的相对路径。
  • settings 设置  添加专属于这个多文件夹工作区的设置

这个文件还有两个可选的键,它们分别是 extensions 和 launch 后续会讲解。

工作区切换

调出命令面板,搜索 “切换窗口(Switch Window)”,然后选择你要跳转的那个文件夹中去。

只是要跳转到上一个打开的窗口,那就更方便了。打开命令面板,搜索“快速切换窗口(Quick Switch Window)”并执行

Ctrl + R(或者使用命令面板,搜索 “打开最近的文件”),此时我就能够看到最近操作过的文件夹并按下回车键进行切换了。(按回车时按住Ctrl键会在新窗口打开)

posted @ 2020-04-12 22:45  vvf  阅读(692)  评论(0)    收藏  举报