例如,VisualStudioCode讨论了在用户级别与工作区级别应用设置。

一方面

它可以引用您已打开的项目目录;或它可以指你在特定窗口中打开的所有内容。

上面提到的页面上写着

“工作区:这些设置存储在工作区内在.vscode文件夹中,并且仅在打开工作区时应用。"


当前回答

2021 2月刚刚添加的是关于“什么是VS代码的‘工作区’:工作区”的文档。

Visual Studio代码“工作区”是一个或多个在VS代码窗口(实例)中打开的文件夹。在大多数情况下,您将打开一个文件夹作为工作区,但具体取决于在开发工作流中,可以包含多个文件夹,使用名为Multi-root工作区的高级配置。工作空间的概念使VS Code能够:配置仅适用于特定文件夹的设置,但而不是其他人。保持以下任务和调试器启动配置仅在该工作区的上下文中有效。存储和恢复UI与该工作区关联的状态(例如打开)。仅为此选择性地启用或禁用扩展工作空间。您可能会看到使用的术语“文件夹”和“工作区”在VS代码文档、问题和社区中可互换讨论。将工作区视为具有额外的VS代码知识和能力。注意:也可以在没有工作区的情况下打开VS代码。例如,当您从在平台的“文件”菜单中,您将不在工作区内。在这个模式下,VS代码的一些功能会降低,但您仍然可以打开文本文件并编辑它们。


单个文件夹工作区你不必为文件夹做任何事情就可以成为VS代码工作区,而不是使用VS代码打开文件夹。一旦文件夹打开后,VS代码将自动跟踪诸如打开的文件和编辑器布局,使编辑器保持原样当您重新打开该文件夹时。您还可以添加其他特定文件夹配置,如工作区特定设置(相对于全局用户设置)和任务定义和调试启动文件(请参见下面的工作空间设置部分)。多根工作区多根工作区是VS Code的高级功能,它允许您可以将多个不同的文件夹配置为工作空间。您将打开一个.code workspace JSON文件,其中列出了工作空间。例如:

{
  "folders": [
    {
      "path": "my-folder-a"
    },
    {
      "path": "my-folder-b"
    }
  ]
}

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


在第一个环节上,我们会做得更多。

其他回答

2021 2月刚刚添加的是关于“什么是VS代码的‘工作区’:工作区”的文档。

Visual Studio代码“工作区”是一个或多个在VS代码窗口(实例)中打开的文件夹。在大多数情况下,您将打开一个文件夹作为工作区,但具体取决于在开发工作流中,可以包含多个文件夹,使用名为Multi-root工作区的高级配置。工作空间的概念使VS Code能够:配置仅适用于特定文件夹的设置,但而不是其他人。保持以下任务和调试器启动配置仅在该工作区的上下文中有效。存储和恢复UI与该工作区关联的状态(例如打开)。仅为此选择性地启用或禁用扩展工作空间。您可能会看到使用的术语“文件夹”和“工作区”在VS代码文档、问题和社区中可互换讨论。将工作区视为具有额外的VS代码知识和能力。注意:也可以在没有工作区的情况下打开VS代码。例如,当您从在平台的“文件”菜单中,您将不在工作区内。在这个模式下,VS代码的一些功能会降低,但您仍然可以打开文本文件并编辑它们。


单个文件夹工作区你不必为文件夹做任何事情就可以成为VS代码工作区,而不是使用VS代码打开文件夹。一旦文件夹打开后,VS代码将自动跟踪诸如打开的文件和编辑器布局,使编辑器保持原样当您重新打开该文件夹时。您还可以添加其他特定文件夹配置,如工作区特定设置(相对于全局用户设置)和任务定义和调试启动文件(请参见下面的工作空间设置部分)。多根工作区多根工作区是VS Code的高级功能,它允许您可以将多个不同的文件夹配置为工作空间。您将打开一个.code workspace JSON文件,其中列出了工作空间。例如:

{
  "folders": [
    {
      "path": "my-folder-a"
    },
    {
      "path": "my-folder-b"
    }
  ]
}

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


在第一个环节上,我们会做得更多。

如果Visual Studio代码是新安装的;

单击扩展,搜索“python”并单击安装单击菜单“视图”→ 探索者如果没有文件夹,则将文件夹添加到“工作区”(菜单“文件”→ 将文件夹添加到工作区)如果要使用虚拟Python环境,请单击菜单“文件”→ 偏爱→ 设置

单击窗口右上角的“{}打开设置JSON”,然后将路径添加到虚拟环境中的python.exe文件:

{
    "python.pythonPath": "C:\\PathTo\\VirtualENV\\python.exe"
}

启动新终端并检查是否选择了正确的Python解释器

简短回答:

使用文件夹而不是单个文件夹工作空间。

仅在需要时使用多根工作空间。当需要使用多个项目文件夹时,需要多个根工作区。当您同时处理多个相关项目时,这可能非常有用。例如,您可能有一个包含产品文档的存储库,您希望在更新产品源代码时保持其最新状态。

为什么“仅在需要时使用多根工作区”?

单文件夹工作区和文件夹之间基本上只有两个区别:

通过“文件”>“打开工作区”打开单个文件夹工作区。。。然后选择<name>.code工作区文件。通过“文件”>“打开文件夹”打开文件夹。。。然后选择文件夹。当您使用<name>.code工作空间文件打开单个文件夹工作空间时,所有特定于项目的设置都将添加到<name>/code工作空间中。使用文件夹打开项目时,所有特定于项目的设置都将保存在.vscode/settings.json文件中。

即使您花时间为单个文件夹工作区创建<name>.code工作区文件,也可以通过菜单“文件”打开该文件→ 打开文件夹。。。。根据您的访问方法,有时设置可以在.vscode/settings.json文件或<name>.code工作区文件中。最好使用一致的方法访问项目文件夹。此外,启动配置(.vscode/relaunch.json)保存在文件夹设置(.vscode/Settings.json)旁边,而不是工作区设置(<name>.code Workspace)旁边。大多数时候,您仍然需要.vscode目录。

长答案:

文件中说:

工作空间的概念使VS Code能够:配置仅适用于特定文件夹而不适用于其他文件夹的设置。保持仅在该工作区上下文中有效的任务和调试器启动配置。存储和恢复与该工作区关联的UI状态(例如,打开的文件)。仅为该工作区选择性地启用或禁用扩展。

在另一个地方,它说:

不同的设置范围:用户设置-全局应用于所有VS代码实例。工作区设置-应用于打开的文件夹或工作区并覆盖用户设置。工作区文件夹设置-应用于多根工作区的特定文件夹。覆盖用户和工作区设置。

因此,基本上有三种类型的设置:

文件夹设置(最高优先级)工作区设置用户设置(最低优先级)

您可以通过将密钥绑定指定给“首选项:打开文件夹设置”,然后使用密钥绑定来修改文件夹设置。

可以通过Ctrl+Shift+P修改工作空间设置→ 首选项:打开工作区设置。

您可以按文件修改用户设置→ 偏好→ 设置。

您的工作区设置将添加到<name>.code工作区文件中。

您的文件夹设置将保存在.vscode/settings.json文件中。

有困惑

证据1:

您可以在VS代码文档、问题和社区讨论。想一想工作空间是具有额外VS代码知识的项目的根和能力。

证据2:

VS代码“工作区”通常只是您的项目根文件夹。工作区设置以及调试和任务配置如下存储在.vscode文件夹的根目录中。

证据3:

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

困惑在哪里?

关键在于细节(文档和实现)。

文档

在文件中,他们说不同的地方有不同的东西。没有一致性。

在一个地方,他们说:

VS Code为设置提供了两个不同的范围:用户设置-全局应用于您打开的任何VS代码实例的设置。工作区设置-存储在工作区内的设置,仅在工作区打开时应用。

在另一个地方,他们说:

不同的设置范围:用户设置-全局应用于所有VS代码实例。工作区设置-应用于打开的文件夹或工作区并覆盖用户设置。工作区文件夹设置-应用于多根工作区的特定文件夹。覆盖用户和工作区设置。

所以,基本上他们并没有一直说有三个层次的设置。请特别查看他们文档的标题以了解设置。标题为“用户和工作区设置”(注意标题中缺少文件夹设置)。在讨论设置优先级时,它只提到一次“工作区文件夹”设置。

实施

文件中说:

工作区设置允许您在上下文中配置设置已打开的工作区,并始终覆盖全局用户设置。它们物理存储在一个JSON文件中及其位置取决于您是将文件夹作为工作区打开还是打开.code工作区文件。

因此,基本上,当没有任何工作空间时(例如,您没有使用<name>.code工作空间打开项目),您可以Ctrl+Shift+P→ 首选项:打开工作区设置,它会打开.vscode/Settings.json文件(实际上是用于文件夹设置而不是工作区设置的,尽管名称明确表示为打开工作区)。

您可能已经在长答案中注意到:“他们”没有保留任何直接访问文件夹设置的简单方法(您必须为“首选项:打开文件夹设置”命令分配一个键绑定,然后使用键绑定。您甚至无法使用Ctrl+Shift+P直接从命令托盘访问此“命令”)。

此外,您必须使用“首选项:打开工作区设置”修改文件夹设置(请注意,您正在使用“打开工作区”修改“文件夹设置”)。首选项:打开工作区设置是否修改文件夹设置或工作区设置取决于您访问项目的方式(使用菜单“文件”→ 打开文件夹。。。或<name>.code工作区文件)。

他们试图把一件简单的事情过于简单化,使之变得困难。

打开“文件”菜单并选择“工作区另存为”。这将保存当前资源管理器状态。之后,您可以选择菜单文件*→ 打开工作区以打开之前保存的工作区。

OP中的标题和后续问题似乎归结为:

Visual Studio代码中的工作区是什么?工作区设置如何工作?

简短回答:

工作区是在VisualStudioCode中同时打开并在.Code工作区文件中定义的文件夹的虚拟集合。打开此文件将自动打开文件夹集合。这被称为“多根”工作区。

.code工作区文件还定义了工作区设置,这些设置由打开工作区的VisualStudioCode实例使用。

如果未定义工作区,即您自己打开一个文件夹,则可以创建“工作区设置”,这些设置保存在该文件夹结构根目录的.vscode\settings.json文件中。


更详细的信息:

Visual Studio代码在某些地方使用“工作区”一词有点含糊。首先要考虑的是所谓的多根工作区。

多根工作区是一组文件夹(“根”),它们在Visual Studio代码的实例中共同打开。这些文件夹不需要共享父文件夹;事实上,这是因为Visual Studio代码通常在浏览器侧栏中使用单个文件夹。

多根工作区由一个.code工作区(JSON)文件定义,该文件包含要包含在工作区中的文件夹列表和Visual Studio代码设置。

多根工作区

关于这些工作区设置。。。

打开菜单“文件”时→ 偏好→ 设置显示设置编辑器。至少您应该看到“用户设置”选项卡。这些是适用于本地计算机上用户帐户的Visual Studio代码设置。在Windows中,这些文件保存在%APPDATA%\Code\User\settings.json中。

Visual Studio代码设置文件位置

单个文件夹(通常是工作区中的每个“根”文件夹)可能有一个.vscode文件夹,其中包含自己的settings.json文件。单独打开时,即不作为工作区的一部分打开时,这些settings.json文件的内容显示在workspace settings选项卡下,该文件中的所有设置都由正在运行的Visual Studio Code实例使用。

打开多根工作区时,情况会有所不同。首先,WORKSPACE SETTINGS选项卡显示在.code工作空间文件中设置的选项。其次,任何带有settings.json文件的文件夹都将显示在新的folder settings选项卡下。请注意,在多根工作区中,每个文件夹的settings.jsn中只使用有限数量的设置。我建议你打开上面的链接进一步阅读。