当前位置:  开发笔记 > 前端 > 正文

VS Code中的"工作区"是什么?

如何解决《VSCode中的"工作区"是什么?》经验,为你挑选了7个好方法。

我不敢相信我在问这个问题,但我无法在文档中找到定义.如果不是很明显,我(非常)是VS Code的新手.

例如,VS Code讨论了在用户级别与工作区级别应用设置.

一方面,(a)它可以引用你打开的项目目录; 或(b)它可以指您在特定窗口中打开的所有内容.

上面引用的页面显示"工作区:这些设置存储在工作区内的.vscode文件夹中,仅在打开工作区时应用."



1> 小智..:

您可以在工作区级别保存设置,并可以在工作区中打开多个文件夹.如果要执行上述任一操作,请使用工作区,否则只需打开文件夹即可.

VS Code工作空间是项目文件夹和文件的列表.工作区可以包含多个文件夹.您可以自定义工作区的设置和首选项.


"您可以在工作区级别保存设置,并且可以在工作区中打开多个文件夹.如果您要执行其中任何一项,请使用工作区." 从技术上讲,您不需要工作区来保存文件夹级别的设置.这可以通过相关文件夹中.vscode文件夹中的`settings.json`来完成.但是,如果要在工作空间中使用多个文件夹,并且需要应用于所有文件夹的设置,则必须使用工作空间.
当OP没有提供“工作区”的定义时,这是如何被接受的答案?

2> jabacchetta..:

什么是工作区?

一个项目,由一个或多个根文件夹以及该项目的所有VSCode配置组成。这些配置包括以下数据:

该项目打开时应应用的设置

建议的项目扩展名(与同事共享配置文件时很有用)

项目特定的调试配置

为什么工作区如此混乱?

VSCode不在整个UI中始终使用该术语(我已经解决了GitHub问题)。有时,它指的是如上所述的工作空间,而有时,它指的是特定于.code-workspace文件的工作空间。

最近的文件小部件就是一个很好的例子。请注意,在链接的屏幕截图中,所有项目都分组在相同的“工作区”标题下,这表明所有内容都存在一个工作区。但是,随后.code-workspace给带有文件的项目指定了“工作区”后缀,这与标题相反,并表明只有那些文件实际上是工作区。

什么是.code-workspace文件?

带有注释的JSON文件,除了存储以下内容外,还存储上述所有配置数据:

属于工作区的所有根文件夹的位置

我需要.code-workspace文件吗?

仅在创建多根工作区时。在多根工作区中,您只有一个.code-workspace文件,可以打开要在资源管理器中显示的所有根文件夹(也就是说,您无需一直手动打开多个文件夹)。每次打开该工作空间文件时,将还原要应用于该工作空间的所有VSCode设置/配置。

单文件夹项目呢?

一切都是自动化的。当您在VSCode中打开一个文件夹并开始对与您当前正在处理的项目特别相关的编辑器进行修改时,VSCode会自动创建一个.vscode文件夹并将其存储在您正在处理的项目文件夹的根目录中。该.vscode文件夹具有存储您所做的更改的文件。例如,如果您更改了仅希望应用于当前项目的VSCode设置,则VSCode会创建settings.json具有这些更新的文件,并将该文件存储在.vscode文件夹中。

.code-workspace如果确实需要,您可以创建一个仅包含单个根文件夹的文件。然后,您可以直接打开项目文件夹,也可以打开工作区文件。但是我想不出为什么会有好处。

如何创建.code-workspace文件?

File > Save Workspace As...

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

转到File > Add Folder to Workspace...

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

双击.code-workspace文件。VSCode无法打开实际文件。相反,它将读取该文件并打开属于该工作区的文件夹。或者,转到File > Open Workspace...

如何查看实际.code-workspace文件?

转到File > Open...并选择目标.code-workspace文件。或者,打开与该文件关联的工作区,然后打开命令面板,搜索并选择Workspaces: Open Workspace Configuration File命令。


谢谢@jabacchetta。我两年前问过这个问题。在那之后不久,我认为WS的定义实际上发生了变化,因此这一直是一个僵尸问题。但是由于人们的困惑,我得到了很多SO代表。我不得不承认,观看要点很高兴,我也没有动力去进行讨论。但是您的答案是如此完整和清晰,并且您已经提出了一个问题,以使代码编写人员可以解决这种混乱。我觉得不接受这个答案会很不友善。谢谢!

3> 小智..:

工作空间只是一个带有(.code-workspace)扩展名的文本文件.您可以通过使用文本编辑器打开它来查看它.我也对工作空间的概念以及如何在VS Code中实现它感到沮丧.我发现了一种适合我的方法.

从单个"项目"文件夹开始.

打开VSCode并关闭所有打开的工作区或文件或文件夹.您应该只在EXPLORER中看到"OPEN EDITORS"和"NO FOLDER OPENED".从菜单栏 - >文件 - >打开文件夹...导航到要放置文件夹的位置,然后右键单击以打开新文件夹.将其命名为您想要的任何名称,然后单击"选择文件夹".它将出现在VS Code EXPLORER中.

现在,从菜单栏 - >文件 - >将工作区另存为...命名工作区并将其保存到您想要保留所有工作区的位置(不一定是项目文件夹所在的位置).我把我的全部放在一个名为"VS Code workspace"的文件夹中.

它将保存为(.code-workspace)文件,并且只是它包含(或指向)所有文件和文件夹的索引,无论它们位于硬盘驱动器上的哪个位置.您可以通过使用文本编辑器打开它来查看它.关闭您创建的文件夹并关闭VS Code.

现在找到您的工作区"文件"并双击它.这将使用您在工作区中创建的文件夹打开VS Code.或者您可以打开VS Code并使用"Open Workspace".

您在VS Code工作区中创建的任何文件夹都将位于第一个文件夹中.如果要添加更多顶级文件夹,请先在任意位置创建它们,然后使用VS Code中的"添加到工作区...".



4> Charlie Joyn..:

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

    VS Code中的工作区是什么?

    工作区设置如何工作?

简短回答:

工作空间是在VSCode中同时打开并在.code-workspace文件中定义的文件夹的虚拟集合.打开此文件将自动打开文件夹集合.这称为"多根"工作空间.

.code-workspace文件还定义了打开工作空间的VSCode实例使用的工作空间设置.

当工作区没有定义的,即你打开自己的文件夹,您可以创建保存在"工作区设置" .vscode\settings.json在该文件夹结构的根文件.


更详细:

VSCode在某些地方使用"工作区"这个词有点含糊不清.第一个需要考虑的用途是调用多根工作空间.

多根工作空间是一组在VSCode实例中共同打开的文件夹("根").这些文件夹不需要共享父文件夹; 实际上,这是因为VSCode通常在资源管理器侧栏中使用单个文件夹.

多根工作空间由.code-workspace(JSON)文件定义,该文件包含要包含在工作空间中的文件夹列表和VSCode设置.

https://code.visualstudio.com/docs/editor/multi-root-workspaces

关于那些工作区设置......

打开文件>首选项>设置时,将显示设置编辑器.至少你应该看到一个USER SETTINGS选项卡.这些是本地计算机上的用户帐户通用的VSCode设置.在Windows中,这些都保存在%APPDATA%\Code\User\settings.json.

VS代码设置文件位置

单个文件夹(通常是工作空间中的每个"根"文件夹)可能具有.vscode包含其自己settings.json文件的文件夹.单独打开时,即不作为工作空间的一部分打开时,这些settings.json文件的内容将显示在WORKSPACE SETTINGS选项卡下,并且正在运行的VSCode实例将使用该文件中的所有设置.

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



5> sdlins..:

AFAIK工作区的主要功能是允许添加多个独立的文件夹来组合项目.例如:

- WorkspaceProjectX  
-- ApiFolder   (maybe /usr/share/www/api)  
-- DocsFolder  (maybe /home/user/projx/html/docs)  
-- WebFolder   (maybe /usr/share/www/web)

这样您就可以将工作空间中的那些分组为特定项目,而不必打开多个文件夹窗口.

你可以在这里了解更多.



6> Nat Kuhn..:

在一些调查中,答案似乎是(a).

当我去更改设置时,设置文件进入我的项目目录中的.vscode目录.


它不仅仅是一个文件夹.您可以将工作空间配置为包含多个目录.我想知道的是工作台和工作区之间的区别.

7> 小智..:

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

首先,Microsoft在VS Code文档中将工作空间称为“多根工作空间”。用简单的英语来说,意思是“一个多文件夹(又称“根”)工作环境”。VS Code工作区只是文件夹的集合-您想要的任何集合,可以按照您想要的任何顺序进行。文件夹的典型集合构成一个软件开发项目。但是,文件夹集合可用于正在为其开发软件代码的任何其他内容。

VS Code处理工作区背后的机制有些复杂。我认为传达我所学知识的最快方法是为您提供一组说明,您可以使用它们来了解工作区如何在计算机上工作。 我假设您是从全新安装VS Code v1.25.1开始的。如果您使用的是VS Code的生产版本,则不建议您遵循我的说明,因为您可能会丢失一些或全部现有的VS Code配置! 如果您已经安装了TEST版本的VS Code v1.25.1,并且愿意丢失任何已存在的配置,则必须执行以下操作才能将VS Code还原到全新的安装状态:

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

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

您将向VS Code添加文件夹以创建新的工作区。如果VS Code以前曾使用过您打算用来创建此新工作区的任何文件夹,请删除将用于创建新工作区的每个文件夹中的“ .vscode”子文件夹(如果存在)。

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

VS Code显示一个显示“打开文件夹”的按钮。单击此按钮,然后选择一个文件夹。VS Code将刷新,并且所选文件夹的名称将替换为“未打开文件夹”视图的名称。所选文件夹中存在的所有文件夹和文件将显示在“视图”名称下方。

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

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

此settings.json文件是存储VS Code的用户设置的位置。

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

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

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

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

C:\TheLocationOfYourFolder\settings.json

将单个文件夹添加到新安装的VS Code中时的配置。当我们添加第二个(或更大)文件夹时,事情变得一团糟。那是因为我们正在更改VS Code的用户设置和工作区设置,以容纳多个文件夹。在单文件夹环境中,只需要上面列出的两个settings.json文件。 但是在多文件夹环境中,会在添加到资源管理器的每个文件夹中创建一个.vscode子文件夹,并创建一个新文件“ workspaces.json”来管理多文件夹环境。 在以下位置创建新的“ workspaces.json”文件:

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

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

现在,在“首选项”右栏中,出现三个用户设置选项-用户设置,工作区设置和文件夹设置。用户设置的功能与单文件夹环境相同。但是,“工作区设置”后面的设置文件已从单个文件夹的.vscode子文件夹中的settings.json文件更改为位于上面显示的workspaces.json文件路径中的workspaces.json文件。 现在,由第三个用户设置“文件夹选项”控制每个文件夹的.vscode子文件夹中的settings.json文件。 这是一个下拉选择列表,用于管理位于每个文件夹的.vscode子文件夹中的每个文件夹的settings.json文件。请注意:除非在文件夹选项用户设置中至少一次选择了新的文件夹,否则不会在新的浏览器文件夹中创建.vscode SUBFOLDER。

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

    已创建一个名为“ UNTITLED(WORKSPACE)”的多文件夹工作区。

    该工作空间被命名为“ UNTITLED(WORKSPACE)”,以表明该工作空间尚未保存为单独的唯一工作空间文件

    UNTITLED(WORKSPACE)工作区可以添加或删除文件夹,但是它将用作VS Code的唯一工作区环境

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

重要说明 -当“浏览器”中仅保留一个文件夹或在创建新工作区时已从资源管理器中删除了所有文件夹时,VS Code不会“还原”为单文件夹模式。利用三个用户首选项的多文件夹工作区配置仍然有效。这意味着,除非您按照本文开头的说明进行操作,否则VS Code将永远无法返回到单文件夹操作模式-它始终保持在多文件夹工作区模式下。

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有