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

一方面

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

上面提到的页面上写着

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


当前回答

在我看来,工作区是一种所有人都忘了提及的东西,它是一种使用所有工具来创建一个区域的方法,您需要使用一种语言,就像其他人所说的那样,在一个项目中,您可以使用PHP、Python、JavaScript、Node.js等。

为每种特定语言创建一个工作区,您可以拥有所有用于管理、调试、测试的工具,例如所有JavaScript。

这更易于管理,因此您可以为PHP创建一个工作区,为Node.js创建另一个工作空间……并且一个项目在多个工作区中包含文件夹。

其他回答

在我看来,工作区是一种所有人都忘了提及的东西,它是一种使用所有工具来创建一个区域的方法,您需要使用一种语言,就像其他人所说的那样,在一个项目中,您可以使用PHP、Python、JavaScript、Node.js等。

为每种特定语言创建一个工作区,您可以拥有所有用于管理、调试、测试的工具,例如所有JavaScript。

这更易于管理,因此您可以为PHP创建一个工作区,为Node.js创建另一个工作空间……并且一个项目在多个工作区中包含文件夹。

我刚刚安装了Visual Studio Code v1.25.1。在Windows 7 Professional SP1计算机上。我想详细了解工作区,所以我花了几个小时弄清楚它们在这个版本的Visual Studio代码中是如何工作的。我认为我的研究结果可能会引起社区的兴趣。

首先,Microsoft在Visual Studio Code文档中将工作区称为“多根工作区”。在纯英语中,这意味着“多文件夹(a.K.a“根”)工作环境”。Visual Studio Code工作区只是文件夹的集合-您希望的任何集合,按您希望的顺序排列。典型的文件夹集合构成了一个软件开发项目。然而,文件夹集合可以用于开发软件代码的任何其他内容。

Visual Studio代码处理工作区的机制有点复杂。我认为传达我所学知识的最快方式是给你一组指令,你可以使用这些指令来查看工作区在电脑上的工作方式。我假设您从新安装Visual Studio Code v1.25.1开始。如果您使用的是Visual Studio代码的生产版本,我不建议您遵循我的说明,因为您可能会丢失部分或全部现有的Visual Studio代码配置!如果您已经安装了Visual Studio Code v1.25.1的测试版本,**并且您愿意丢失任何已存在的配置,则必须执行以下操作才能将Visual Studio代码恢复到新的安装状态:

删除以下文件夹(如果存在):

  C:\Users\%username%\AppData\Roaming\Code\Workspaces (where "%username%" is the name of the currently logged-on user)

您将向Visual Studio代码中添加文件夹以创建新的工作区。如果您打算用于创建此新工作区的任何文件夹以前已与Visual Studio代码一起使用,请删除将用于创建新工作区每个文件夹中的“.vscode”子文件夹(如果存在)。

启动Visual Studio代码。如果显示欢迎页面,请将其关闭。如果显示面板(水平窗格),请对其执行相同操作。如果您收到一条消息,指出Git没有安装,请单击“稍后提醒我”。如果显示,请关闭作为默认代码页启动的“未命名”代码页。如果未显示Explorer窗格,请单击主菜单上的“查看”,然后单击“Explorer”以显示Explorer窗格。在资源管理器窗格中,您应该看到三(3)个视图标题-打开编辑器、未打开文件夹和大纲(位于资源管理器面板的最底部)。确保至少显示打开的编辑器和没有文件夹打开的视图标题。

Visual Studio代码显示一个按钮,显示“打开文件夹”。单击此按钮并选择您选择的文件夹。Visual Studio代码将刷新,所选文件夹的名称将替换为“未打开文件夹”视图名称。所选文件夹中存在的所有文件夹和文件都将显示在“视图”名称下。

现在打开Visual Studio代码首选项设置文件。有很多方法可以做到这一点。我将使用最容易记住的菜单“文件”→ 偏好→ 设置。设置文件显示在两列中。左列是每个Visual Studio代码功能的默认值的只读列表。右列用于列出三(3)种类型的用户设置。此时,测试中将只列出两个用户设置:用户设置和工作区设置。默认情况下显示用户设置。这将显示User Settings.json文件的内容。要查找此文件的位置,只需将鼠标悬停在资源管理器中OPEN EDITORS视图下的“用户设置”列表上。当选择右侧列中的“用户设置”选项时,OPEN EDITORS(打开编辑器)视图中的此列表将自动选中。路径应为:

C:\Users\%username%\AppData\Roaming\Code\User\settings.json

此settings.json文件存储Visual Studio代码的用户设置。

现在单击“首选项”列表右列中的“工作区设置”选项。执行此操作时,将在您几步前添加到Explore的文件夹中自动创建一个名为“.vscode”的子文件夹。查看资源管理器中文件夹的列表,确认.vscode子文件夹已添加。在新的.vscode子文件夹中是另一个settings.json文件。此文件包含几步前添加到Explorer的文件夹的工作区设置。

此时,您有一个文件夹,其用户设置存储在:

C:\Users\%username%\AppData\Roaming\Code\User\settings.json

并且其工作区设置存储在:

C:\TheLocationOfYourFolder\settings.json

这是将单个文件夹添加到新安装的Visual Studio代码时的配置。当我们添加第二个(或更大)文件夹时,事情会变得一团糟。这是因为我们正在更改Visual Studio代码的用户设置和工作区设置,以容纳多个文件夹。在单个文件夹环境中,只需要两个settings.json文件,如上所列。但在多文件夹环境中,会在添加到Explorer的每个文件夹中创建.vscode子文件夹,并创建一个新文件“workspace.json”来管理多文件夹环境。新的“workspace.json”文件创建于:

c:\Users\%username%\AppData\Roaming\Code\Workspaces\%workspace_id%\workspaces.json

“%workspaces_id%”是一个具有唯一全数字名称的文件夹。

在“首选项”右侧列中,现在显示三个用户设置选项-“用户设置”、“工作区设置”和“文件夹设置”。用户设置的功能与单个文件夹环境的功能相同。但是,“工作区设置”后面的设置文件已从单个文件夹的.vscode子文件夹中的settings.json文件更改为位于上面显示的workspaces.json文件路径中的Workspace.json文件。位于每个文件夹.vscode子文件夹中的settings.json文件现在由第三个用户设置“文件夹选项”控制。这是一个下拉选择列表,允许管理位于每个文件夹.vscode子文件夹中的每个文件夹的settings.json文件。请注意:在文件夹选项用户设置中至少选择一次新添加的文件夹之前,不会在新添加的资源管理器文件夹中创建.vscode子文件夹。

请注意,Explorer单个文件夹名称已更改为“UNTITLED(WORKSPACE)”。这表示以下内容:

已创建名为“UNTITLED(workspace)”的多文件夹工作区工作空间命名为“UNTITLED(workspace)”,以表明工作空间尚未保存为单独的、唯一的工作空间文件UNTITLED(WORKSPACE)工作区可以添加文件夹或从中删除文件夹,但它将作为Visual Studio代码的唯一工作区环境

只有当工作区保存为可根据需要重新加载的文件时,才能实现VisualStudioCode工作区的全部功能。这提供了创建独特的多文件夹工作区(例如,项目)并将其保存为文件以供以后使用的功能!要执行此操作,请选择菜单“文件”→ 从主菜单中将工作空间另存为,并将当前工作空间配置另存为唯一的工作空间文件。如果需要“从头开始”创建工作区,请首先保存当前工作区配置(如果需要),然后右键单击每个Explorer文件夹名称,然后单击“从工作区删除文件夹”。从工作区中删除所有文件夹后,添加新工作区所需的文件夹。添加完新文件夹后,只需将新工作区另存为新工作区文件。

重要的一点是,在“从头开始”创建新工作区时,当资源管理器中只剩下一个文件夹或所有文件夹都已从资源管理器删除时,Visual Studio代码不会“恢复”到单文件夹模式。利用三个用户首选项的多文件夹工作区配置仍然有效。这意味着,除非按照本文开头的说明进行操作,否则Visual Studio代码永远不会返回到单文件夹操作模式-它将始终保持在多文件夹工作区模式。

他们称之为多根工作区,因此您可以轻松地进行调试,因为:

“对于多根工作区,Visual Studio Code在所有文件夹中搜索launch.json调试配置文件,并使用文件夹名称作为后缀。"

假设您的应用程序文件夹中有一个服务器和一个客户端文件夹。如果要在没有工作区的情况下一起调试它们,则必须启动两个Visual Studio代码实例,一个用于服务器,一个客户端,并且需要来回切换。

但是现在(1.24)你不能将一个文件添加到工作区,只能添加文件夹,这有点不方便。

简短回答:

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

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

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

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

通过“文件”>“打开工作区”打开单个文件夹工作区。。。然后选择<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工作区文件)。

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

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