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

一方面

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

上面提到的页面上写着

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


当前回答

截至2018年5月,Visual Studio代码中的工作区似乎允许您快速访问不同但相关的项目。无需打开其他文件夹。

您也可以有多个工作区。请参阅此处的参考资料,您将了解其全貌:

参考文献1参考文献2

其他回答

我刚刚安装了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代码配置组成的项目。这些配置包括:

项目打开时应应用的设置推荐的项目扩展名(与同事共享配置文件时有用)特定于项目的调试配置

为什么工作空间如此令人困惑?

Visual Studio代码并没有在整个UI中一致地使用这个术语(我打开了一个GitHub问题来解决这个问题)。有时它指的是如上所述的工作空间,有时它指工作空间是与.code工作空间文件特定关联的项目。

最近的文件小部件就是一个很好的例子。请注意,在链接的屏幕截图中,所有项目都被分组在同一个“工作区”标题下,这意味着所有项目都有一个工作区。但是,带有.code工作区文件的项目会被赋予一个“工作区”后缀,这与标题相矛盾,表明只有这些文件才是真正的工作区。

什么是.code工作区文件?

它是一个带有注释的JSON文件,除了属于工作区的所有根文件夹的位置之外,还存储了上面提到的所有配置数据。

我需要一个.code工作区文件吗?

只有在创建多根工作区时,在这种情况下,除了要在Explorer中显示的所有根文件夹外,您将拥有一个单独的.code工作区文件,该文件将自动恢复所有工作区设置。

单文件夹项目怎么样?

一切都是自动化的。

当您在Visual Studio Code中打开文件夹并开始对编辑器进行与您当前正在处理的项目特定相关的修改时,Visual Studio Code会自动创建.vscode文件夹并将其存储在您正在处理的工程文件夹的根目录中。此.vscode文件包含存储您所做更改的文件。

例如,如果您更改了仅应用于当前项目的Visual Studio代码设置,Visual Studio代码将创建一个带有这些更新的settings.json文件,该文件存储在.vscode文件夹中。

如果确实需要,可以创建一个.code工作区文件,其中只包含一个根文件夹。然后可以直接打开项目文件夹,也可以打开工作区文件。但我想不出为什么这会有益。

如何创建.code工作区文件?

转到菜单“文件”→ 将工作区另存为。。。

如何将根文件夹添加到工作区?

转到菜单“文件”→ 将文件夹添加到工作区。。。。

如何打开由.code工作区文件定义的工作区?

转到菜单“文件”→ 打开工作区。。。。

或者,双击.code工作区文件。Visual Studio代码无法打开实际文件。相反,它将读取该文件并打开属于该工作区的文件夹。

如何查看实际的.code工作区文件?

转到菜单“文件”→ 打开并选择目标.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中只使用有限数量的设置。我建议你打开上面的链接进一步阅读。

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

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

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

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

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

虽然问题是问“什么是工作空间?”,但我觉得困惑的根源是人们期望工作空间在其他编辑器中的行为更像“项目”。

所以,为了帮助所有因为这种困惑而来到这里的人,我想发布以下Visual Studio代码插件(不是我的),项目经理。

它有一个很好的UI来管理(保存和打开)单个文件夹项目:

保存项目:

使用调色板打开项目:

在状态栏中查看当前项目(单击以打开项目选项板):

访问侧边栏中的项目: