例如,VisualStudioCode讨论了在用户级别与工作区级别应用设置。
一方面
它可以引用您已打开的项目目录;或它可以指你在特定窗口中打开的所有内容。
上面提到的页面上写着
“工作区:这些设置存储在工作区内在.vscode文件夹中,并且仅在打开工作区时应用。"
例如,VisualStudioCode讨论了在用户级别与工作区级别应用设置。
一方面
它可以引用您已打开的项目目录;或它可以指你在特定窗口中打开的所有内容。
上面提到的页面上写着
“工作区:这些设置存储在工作区内在.vscode文件夹中,并且仅在打开工作区时应用。"
当前回答
简短回答:
使用文件夹而不是单个文件夹工作空间。
仅在需要时使用多根工作空间。当需要使用多个项目文件夹时,需要多个根工作区。当您同时处理多个相关项目时,这可能非常有用。例如,您可能有一个包含产品文档的存储库,您希望在更新产品源代码时保持其最新状态。
为什么“仅在需要时使用多根工作区”?
单文件夹工作区和文件夹之间基本上只有两个区别:
通过“文件”>“打开工作区”打开单个文件夹工作区。。。然后选择<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工作区文件)。
他们试图把一件简单的事情过于简单化,使之变得困难。
其他回答
打开“文件”菜单并选择“工作区另存为”。这将保存当前资源管理器状态。之后,您可以选择菜单文件*→ 打开工作区以打开之前保存的工作区。
工作空间只是一个扩展名为(.code workspace)的文本文件。你可以用文本编辑器打开它来查看它。我也对工作区的想法以及如何在Visual Studio代码中实现它感到沮丧。我找到了一种适合我的方法。
从单个“项目”文件夹开始。
打开Visual Studio代码并关闭所有打开的工作区、文件或文件夹。在浏览器中,您应该只看到“打开的编辑器”和“没有打开的文件夹”。
从菜单栏→ 文件→ 打开文件夹。。。。导航到要放置文件夹的位置,然后右键单击以打开新文件夹。根据需要命名,然后单击“选择文件夹”。它将显示在*Visual Studio代码资源管理器中。
现在从菜单文件→ 将工作区另存为……命名工作区并将其保存在您希望保留所有工作区的任何位置(不一定是项目文件夹所在的位置)。我把我的全部放在一个名为“Visual Studio代码工作区”的文件夹中。
它将保存为(.code工作区)文件,并且只是它包含(或指向)的所有文件和文件夹的索引,无论它们位于硬盘驱动器上的任何位置。你可以用文本编辑器打开它来查看它。关闭您创建的文件夹并关闭Visual Studio代码。
现在找到您的工作区“文件”并双击它。这将打开Visual Studio代码以及您在工作区中创建的文件夹。或者您可以打开Visual Studio代码并使用“打开工作区”。
从Visual Studio代码工作区中创建的任何文件夹都将位于第一个文件夹中。如果要添加更多顶级文件夹,请首先在需要的位置创建它们,然后使用Visual Studio代码中的“添加到工作区..”。
简短回答:
使用文件夹而不是单个文件夹工作空间。
仅在需要时使用多根工作空间。当需要使用多个项目文件夹时,需要多个根工作区。当您同时处理多个相关项目时,这可能非常有用。例如,您可能有一个包含产品文档的存储库,您希望在更新产品源代码时保持其最新状态。
为什么“仅在需要时使用多根工作区”?
单文件夹工作区和文件夹之间基本上只有两个区别:
通过“文件”>“打开工作区”打开单个文件夹工作区。。。然后选择<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工作区文件)。
他们试图把一件简单的事情过于简单化,使之变得困难。
截至2018年5月,Visual Studio代码中的工作区似乎允许您快速访问不同但相关的项目。无需打开其他文件夹。
您也可以有多个工作区。请参阅此处的参考资料,您将了解其全貌:
参考文献1参考文献2
什么是工作区?
由一个或多个根文件夹以及属于该项目的所有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工作区文件。
或者,打开与该文件关联的工作区。然后打开命令选项板,搜索并选择“工作空间:打开工作空间配置文件”命令。