本站点文档内容均翻译自code.visualstudio.com,仅供个人学习,如有差异请以官网为准。

什么是 VS Code 工作区?

一个Visual Studio Code工作区是打开在VS CodeWindows(实例)中的一个或多个文件夹的集合。大多数情况下,你会将一个文件夹打开作为工作区。然而,根据你的开发流程,你可以包含多个文件夹,使用一种称为多根工作区的高级配置。

工作区的概念使 VS Code 能够:

  • 配置仅适用于特定文件夹或文件夹而不是其他文件夹的设置。
  • 持久化任务调试器启动配置,使其仅在该工作区的上下文中有效。
  • 存储和恢复与该工作区相关的用户界面状态(例如,打开的文件)。
  • 仅在该工作区中选择性启用或禁用扩展。

在 VS Code 文档、问题和社区讨论中,您可能会看到“文件夹”和“工作区”这两个术语被互换使用。将工作区视为一个项目,它具有额外的 VS Code 知识和功能。

注意: 也可以在没有工作区的情况下打开 VS Code。例如,当您通过选择平台的 文件 菜单中的文件来打开 VS Code 新Windows时,您将不会在工作区内。在这种模式下,VS Code 的某些功能会减少,但您仍然可以打开文本文件并编辑它们。

如何打开 VS Code "工作区"?

您可以通过使用文件 > 打开文件夹... 菜单,然后选择一个文件夹来打开一个工作区。

或者,如果你从终端启动 VS Code,你可以将文件夹的路径作为第一个参数传递给代码打开的命令。例如,使用以下命令打开当前文件夹输入:.) 使用 VS Code:

代码 .

单文件工作区

要使文件夹成为 VS Code 工作区,您只需用 VS Code 打开该文件夹即可。一旦您打开一个文件夹,VS Code 会自动跟踪配置,例如您打开的文件或编辑器布局。当您在 VS Code 中重新打开该文件夹时,编辑器将恢复到您之前离开的状态。

您还可以添加其他文件夹特定的配置,例如工作区特定的设置(与全局用户设置不同),任务定义,和调试启动文件(见下面的工作区设置部分)。

单文件夹工作区

在 VS Code 中打开一个单文件工作区

多根工作区

多根工作区是 VS Code 的高级功能,允许您配置多个不同的文件夹成为同一个工作区的一部分。您不是打开一个文件夹作为工作区,而是打开一个<名称>.code-workspace列出工作区中所有文件夹的JSON文件。例如:

{
  "文件夹": [
    {
      "路径": "my-folder-a"
    },
    {
      "路径": "my-folder-b"
    }
  ]
}

多根工作区

在 VS Code 中打开的多根工作区

注意: 文件夹打开与打开一个代码工作区文件可能很微妙。为了给你一个提示,一个代码工作区 文件已打开,用户界面的某些区域(例如,文件资源管理器的根目录)显示了一个额外的 (工作区) 后缀在名称旁边。

未命名的多根工作区

您可以在工作区中灵活地添加或删除文件夹。首先在 VS Code 中打开一个文件夹,然后根据需要稍后添加更多文件夹。

文件资源管理器上下文菜单,突出显示选项以将文件夹添加或移除到工作区

文件资源管理器上下文菜单用于在工作区中添加或删除文件夹

除非您已经打开了一个代码工作区 文件,第一次将第二个文件夹添加到工作区时,VS Code 会自动创建一个 未命名 工作区。在后台,VS Code 会自动维护一个 untitled.code-workspace 包含了您当前会话中所有文件夹和工作区设置的文件。工作区在您决定将其保存到磁盘之前 仍然是未命名的

未命名的多根工作区

在 VS Code 中打开的未命名多根工作区

注意: 未命名的工作区和已保存的工作区之间没有区别,只是未命名的工作区是为您方便自动创建的,并且将一直恢复直到您保存它。当您关闭一个打开未命名工作区的Windows时,VS Code 会自动删除未命名的工作区(在删除前会询问您确认)。

工作区设置

工作区设置使您能够在打开的工作区上下文中配置设置。工作区设置始终覆盖全局用户设置。它们物理存储在JSON文件中,具体位置取决于您是将文件夹作为工作区打开,还是打开了一个代码工作区文件。

参阅设置 文档,了解设置范围及其文件位置的详细说明。

单文件夹工作区设置

工作区设置存储在.vscode/settings.json当你将文件夹打开作为工作区时。

单文件夹工作区设置

当文件夹被打开作为工作区时的设置编辑器

多根工作区设置

当你打开一个代码工作区作为工作区,所有工作区设置都添加到代码工作区文件。

您仍然可以为根文件夹配置设置,设置编辑器将呈现一个名为文件夹设置的第三个设置范围:

多根设置

当打开多根工作区时的设置编辑器

每个文件夹设置覆盖在中定义的设置代码工作区输入:.

工作区任务和启动配置

类似于工作区设置特定于一个工作区,任务和启动配置也可以限制在某个工作区。

取决于你是否将文件夹打开作为工作区或一个代码工作区文件,工作区任务和启动配置的位置要么在.vscode文件夹,或在里面代码工作区文件。此外,即使当你打开一个文件夹时,任务和启动配置也可以始终在文件夹级别定义。代码工作区文件。

参考任务调试章节,以更全面地了解如何在 VS Code 中使用任务和启动配置。

常见问题

多根工作区相对于一个文件夹有什么好处?

最明显的优点是,多根工作区允许您同时处理多个项目,这些项目可能不存储在磁盘上的同一父文件夹中。您可以从任何地方选择文件夹添加到工作区。

即使你主要在一个基于单文件的项目中工作,你也可以从使用中受益代码工作区文件。您可以存储多个代码工作区文件夹内的文件根据情况提供项目某些方面的有范围的文件夹视图(例如client.code-workspace服务器.代码工作区从文件资源管理器中过滤掉不相关的文件夹)。由于代码工作区文件支持相对路径文件夹这些工作区文件对每个人都是有效的,无论文件夹存储在哪里。

最后,如果你希望对某些项目应用相同的 workspace 设置或 tasks/launch 配置,可以考虑将这些添加到一个代码工作区文件并从该工作区添加或删除这些文件夹。

为什么 VS Code 在重启时恢复所有未命名的工作区?

未命名的工作区旨在需要明确决定是否保留。当未命名的工作区首次创建时,VS Code 会将指定的文件夹添加到工作区文件中,并且还会添加所有现有的工作区设置。此用户数据将始终在 VS Code Windows中恢复并显示,直到未命名的工作区被保存或删除。

如何删除一个无标题的工作区?

您可以通过关闭其Windows并取消保存未命名工作区的提示来删除未命名的工作区。

我可以使用没有文件夹的多根工作区吗?

可以离开文件夹部分的代码工作区文件为空,因此最终会得到一个不显示任何根文件夹的 VS Code 实例。在这种情况下,您仍然可以存储工作区设置,甚至可以存储任务或 launch 配置。

VS Code 支持项目或解决方案吗?

VS Code 没有像其他开发工具(如 Visual Studio IDE)中定义的“项目”或“解决方案”的概念。在 VS Code 文档中,你可能会看到“项目”一词的使用,但它通常指的是“你在做的事情”。根据你的编程语言或框架,工具本身可能支持一些称为“项目”的东西,以帮助定义构建配置或列出包含的文件。