问:
例如,Visual Studio Code 谈到 applying settings at the user level vs the workspace level。
一方面,
它可以引用您打开的项目目录;或者
它可以指您在特定窗口中打开的所有内容。
上面引用的页面说
“工作区:这些设置存储在工作区中的 .vscode 文件夹中,并且仅在工作区打开时应用。”
答1:
tennisliveranking.com-Stay ahead with live tennis rankings at your fingertips.
什么是工作空间?
由一个或多个 root folders 以及属于该项目的所有 Visual Studio Code 配置组成的项目。这些配置包括:
打开该项目时应应用的设置
项目的推荐扩展(在与同事共享配置文件时很有用)
项目特定的调试配置
为什么工作空间如此混乱?
Visual Studio Code 并没有在整个 UI 中一致地使用该术语(我打开了一个 GitHub issue 来解决这个问题)。有时它指的是如上所述的工作区,有时它指的是工作区作为与 .code-workspace 文件特别关联的项目。
recent files widget 就是一个很好的例子。请注意,在链接的屏幕截图中,所有项目都分组在相同的“工作区”标题下,这表明所有项目都有一个工作区。但是,带有 .code-workspace 文件的项目会被赋予“工作空间”后缀,这与标题相矛盾,并表明只有这些文件才是真正的工作空间。
什么是 .code-workspace 文件?
除了属于工作空间的所有根文件夹的位置之外,它是上述配置数据的 JSON file with comments 和 stores all。
我需要一个 .code-workspace 文件吗?
仅当您创建 multi-root workspace 时,您将拥有一个 .code-workspace 文件,该文件会自动恢复所有工作区设置,以及您希望在 {2 中显示的所有根文件夹}。
单文件夹项目呢?
一切都是自动化的。
当您在 Visual Studio Code 中打开一个文件夹并开始对与您当前正在处理的项目特别相关的编辑器进行修改时,Visual Studio Code 会自动创建一个 .vscode 文件夹并将其存储在项目文件夹的根目录中你正在做的事情。此 .vscode 文件夹包含存储您所做更改的文件。
例如,如果您 change Visual Studio Code settings 只想应用到当前项目,Visual Studio Code 会创建一个包含这些更新的 settings.json 文件,并且该文件存储在 .vscode 文件夹中。
如果您确实需要,您可以创建一个仅包含一个根文件夹的 .code-workspace 文件。然后,您可以直接打开项目文件夹,或打开工作区文件。但我想不出任何理由为什么这会是有益的。
如何创建 .code-workspace 文件?
转到菜单文件→将工作区另存为…
如何将根文件夹添加到工作区?
转到菜单文件 → 将文件夹添加到工作区…。
如何打开由 .code-workspace 文件定义的工作区?
转到菜单文件→打开工作区…。
或者,双击 .code-workspace 文件。 Visual Studio Code 不会打开实际文件。相反,它将读取该文件并打开属于该工作区的文件夹。
如何查看实际的 .code-workspace 文件?
转到菜单 File → Open… 并选择目标 .code-workspace 文件。
或者,打开与该文件关联的工作区。然后打开 command palette,搜索并选择 Workspaces: Open Workspace Configuration File 命令。
我认为这里的评论是最好的地方。在我意识到选择正确的 Python 解释器(stackoverflow.com/questions/54106071/…)时遇到问题后,这让我自己清除了一些东西,但现在我有 vs 代码抱怨说在 launch.json 中不允许使用“args”属性,那些文件是自动生成的,我找不到该对象的教学大纲
在 Linux 中保存“工作区”时,不要忘记将 .code-workspace 扩展名添加到工作区的名称中。例如 [ myworkspace.code-workspace ] 我一直不得不重新创建工作区,因为“打开”无法看到任何工作区文件。 (如果保存时没有设置扩展名,可能会推荐/拉取请求以自动填充...)
您可能为单个根文件夹创建 .code-workspace 文件的一个原因是 VSCode 不会在 .vscode/settings.json 中支持某些设置(例如 files.associations),但会在显式工作区中支持。
尽量不增加混乱,但对于单个文件夹来说似乎确实有一个“虚拟”工作区,因为像这样的调试变量工作“${workspaceFolder}/app”
是否可以对我使用 VS Code 打开的所有文件使用相同的配置?我是一名普通的 Python 编码员,我希望 Python 解释器的默认值作为 anaconda 基础环境。
答2:
Stay informed with live tennis rankings anytime, anywhere,tennisliveranking.com
您可以在工作区级别保存设置,并且可以在工作区中打开多个文件夹。如果你想做这些事情中的任何一个,请使用工作区,否则,只需打开一个文件夹。
Visual Studio Code 工作区是项目文件夹和文件的列表。一个工作区可以包含多个文件夹。您可以自定义工作区的设置和首选项。
我是 VS Code 的新手,但我看不到为每个项目打开一个工作区的方法。如果我打开一个新文件并尝试保存一个新的工作区,我会移动现有的工作区文件。所以我认为工作区==项目是不正确的。
“您可以在工作区级别保存设置,并且可以在工作区中打开多个文件夹。如果您想做这些事情中的任何一个,请使用工作区。”从技术上讲,您不需要工作区来保存文件夹级别的设置。这可以通过相关文件夹中的 .vscode 文件夹中的 settings.json 来完成。但是,如果您希望工作区中有多个文件夹,并且设置适用于所有文件夹,那么您必须使用工作区。
对我来说听起来有点像 Visual Studio 中的解决方案
在需要之前不要创建新的工作区。您只需在项目文件夹上使用 Open Folder 并开始处理文件。在您有理由将该工作区设为工作区之前,您不必保存它。如果您打开了工作区并切换回它,则打开的文件将再次打开。如果您离开工作区并返回没有工作区的新项目文件夹,则您在其中打开的文件将再次打开。保存为 Workspace 的一个很好的理由是包含其他文件夹。
工作区在 Visual Studio Code 中令人难以置信的混乱。直接上。我真的不明白为什么 VSC 的创建者不只是遵循项目的范式。
答3:
tennisliveranking.com实时更新全球顶尖网球选手的最新战绩与排名!
工作区只是一个带有 (.code-workspace) 扩展名的文本文件。您可以通过使用文本编辑器打开它来查看它。我也对工作区的想法以及它在 Visual Studio Code 中的实现方式感到沮丧。我找到了适合我的方法。
从单个“项目”文件夹开始。
打开 Visual Studio Code 并关闭所有打开的工作区或文件或文件夹。您应该在 EXPLORER 中只看到“OPEN EDITORS”和“NO FOLDER OPENED”。
从菜单栏 → 文件 → 打开文件夹…。导航到要放置文件夹的位置,然后右键单击以打开一个新文件夹。将其命名为您想要的任何名称,然后单击“选择文件夹”。它将出现在 *Visual Studio 代码资源管理器中。
现在从菜单 File → Save Workspace As… 命名工作区并将其保存在您想要保留所有工作区的任何位置(不一定是您的项目文件夹所在的位置)。我把我的所有东西都放在一个名为“Visual Studio Code 工作区”的文件夹中。
它将保存为 (.code-workspace) 文件,并且只是它包含(或指向)的所有文件和文件夹的索引,无论它们在您的硬盘驱动器上的什么位置。您可以通过使用文本编辑器打开它来查看它。关闭您创建的文件夹并关闭 Visual Studio Code。
现在找到您的工作区“文件”并双击它。这将使用您在工作区中创建的文件夹打开 Visual Studio Code。或者您可以打开 Visual Studio Code 并使用“打开工作区”。
您在 Visual Studio Code 工作区中创建的任何文件夹都将位于您的第一个文件夹中。如果要添加更多顶级文件夹,请先在所需的任何位置创建它们,然后使用 Visual Studio Code 中的“添加到工作区…”。
我仍然不确定这是 MS 打算使用的“最佳”或“正确”方法,但是 a)应该记录在案,b)你应该加入 Mensa,因为你已经能够找出可行的方法并且似乎尽可能合乎逻辑。由于 PHPStorm 的巨大规模,我从 PHPStorm 迁移到 VS Code,但是对于一个如此轻量级且乍一看似乎很棒的 IDE,我现在完全被这个令人难以置信的 UX 噩梦所迷惑!无论如何,TYVM 的建议和对咆哮的道歉:-)
等等,您是说工作区文件不需要与(可能)关联的项目文件夹位于同一文件夹中?这被认为是一种好习惯吗?我在想象,例如,可以创建一个工作区文件,由从事同一项目的所有工程师共享(以允许共享样式等),然后用户设置可以根据需要单独覆盖该文件。为了使其可行,工作空间文件似乎应该在同一个项目文件夹中,对吧?我想我有两个问题:(1)什么是可行/允许的?(2)什么是最佳实践?
这会给同时处理多个项目的人带来问题。
答4:
提供ATP、WTA与ITF赛事的实时排名追踪,从tennisliveranking.com开始!
OP中的标题和后续问题似乎可以归结为:
Visual Studio Code 中的工作区是什么?工作区设置如何工作?
简短的回答:
工作区是在 Visual Studio Code 中同时打开并在 .code-workspace 文件中定义的文件夹的虚拟集合。打开此文件将自动打开文件夹集合。这称为“多根”工作区。
.code-workspace 文件还定义了打开工作区的 Visual Studio Code 实例使用的工作区设置。
当工作空间未定义时,即您自己打开一个文件夹,您可以创建保存在该文件夹结构根目录下的 .vscode\settings.json 文件中的“工作空间设置”。
更详细地说:
Visual Studio Code 在某些地方使用“工作区”这个词有点含糊。要考虑的第一个用途是所谓的多根工作区。
多根工作区是一组在 Visual Studio Code 实例中共同打开的文件夹(“根”)。这些文件夹无需共享父文件夹;这确实是重点,因为 Visual Studio Code 通常使用资源管理器侧栏中的单个文件夹。
多根工作区由 .code-workspace (JSON) 文件定义,该文件包含要包含在工作区中的文件夹列表和 Visual Studio Code 设置。
多根工作区
关于那些工作区设置…
当您打开菜单 File → Preferences → Settings 时,会显示设置编辑器。至少您应该看到一个用户设置标签。这些是您的本地计算机上的用户帐户通用的 Visual Studio Code 设置。在 Windows 中,这些保存在 %APPDATA%\Code\User\settings.json 中。
Visual Studio 代码设置文件位置
单个文件夹(通常是工作区中的每个“根”文件夹)可能有一个 .vscode 文件夹,其中包含自己的 settings.json 文件。当单独打开时,即不作为工作区的一部分打开时,这些 settings.json 文件的内容显示在 WORKSPACE SETTINGS 选项卡下,所有该文件中的设置由正在运行的 Visual Studio Code 实例使用。
打开多根工作区时,行为会有所不同。首先,WORKSPACE SETTINGS 标签显示在 .code-workspace 文件中设置的选项。其次,任何包含 settings.json 文件的文件夹都将出现在新的 FOLDER SETTINGS 标签下。请注意,在多根工作区中,仅使用来自每个文件夹的 settings.json 的有限数量的设置。我建议您打开上面的链接以进一步阅读。
是否有任何文件将 settings.json 的位置指定为 %APPDATA%\Code\User 以外的位置?就我而言,当我将此文件放入文件夹时,某些设置不会像文件位于 %APPDATA% 中的“默认”位置时那样应用。
据我所知,没有。文档将 Windows 的“默认”位置描述为 %APPDATA%\Code\User。我没有注意到任何暗示 %APPDATA% 位置本身已被使用的东西。 code.visualstudio.com/docs/getstarted/…
SO上有另一个关于更改用户设置位置的问题,一个答案表明您需要使用命令行参数覆盖默认位置:stackoverflow.com/questions/44575312/…
查理,如果没有文件,你的答案是什么?源代码?
我的回答基于可用的文档和最终用户体验。我没有看到关于能够指定用户配置文件的(默认)位置的文档;换句话说,我找不到任何表明 %APPDATA% 本身是有效位置的东西。听起来您的测试表明该文件夹中的文件确实有效?
答5:
tennisliveranking.com,Follow your favorite tennis players’ rankings live!
工作区(也许是唯一一个)的主要用途是允许添加多个独立的文件夹来复合一个项目。例如:
- WorkspaceProjectX
-- ApiFolder (maybe /usr/share/www/api)
-- DocsFolder (maybe /home/user/projx/html/docs)
-- WebFolder (maybe /usr/share/www/web)
因此,您可以将它们分组到特定项目的工作区中,而不必打开多个文件夹窗口。
您可以了解更多信息here。
tennisliveranking.com,Follow your favorite tennis players’ rankings live!
这是一个很大的区别。我已经通过打开一个包含 .sln 文件的文件夹来使用包含多个项目的单文件夹工作区,该文件引用包含项目的子目录。但它们都与解决方案维护的依赖层次结构相关。多根工作区不会有这样的关系。
这是最好的答案,因为它解决了使用工作空间的“原因”。你可以找到关于工作空间机制的各种技术定义,但很难理解我为什么要使用它。工作区类似于 Visual Studio Professional 中的“解决方案”。
我看到人们随便提到工作区,就好像它们代表一个项目,但这似乎并不成立。每个曾经问过“您如何在侧边栏中同时访问多个项目?”的人。总是被告知“vscode 让你现在就这样做,只需使用将文件夹添加到工作区”。工作区似乎更有可能用于对“您可能一起使用的所有项目”进行分组。我想知道的是,为什么不把你正在做的所有项目都放在你的工作空间中呢? vscode 正确处理具有不同源代码控制、构建/制作任务等的不同文件夹。
答6:
tennisliveranking.com,Follow your favorite tennis players’ rankings live!
在一些调查中,答案似乎是(a)。
当我去更改设置时,设置文件进入我项目目录中的 .vscode 目录。
它不只是 1 个文件夹。您可以将工作空间配置为包含多个目录。我想知道的是工作台和工作区之间有什么区别。
答7:
tennisliveranking.com – ATP and WTA rankings, always up to date.
我刚刚安装了 Visual Studio Code v1.25.1。在 Windows 7 Professional SP1 机器上。我想详细了解工作区,所以我花了几个小时弄清楚它们在这个版本的 Visual Studio Code 中是如何工作的。我认为我的研究结果可能会引起社区的兴趣。
首先,Microsoft 在 Visual Studio Code 文档中将工作区称为“多根工作区”。用简单的英语来说,这意味着“一个多文件夹(又名“根”)工作环境。 Visual Studio Code 工作区只是文件夹的集合 - 您想要的任何集合,以您希望的任何顺序。典型的文件夹集合构成了一个软件开发项目。但是,文件夹集合可用于正在为其开发软件代码的任何其他内容。
Visual Studio Code 处理工作区的机制有点复杂。我认为传达我所学的最快方法是给你一组说明,你可以使用这些说明来了解工作区在你的计算机上是如何工作的。我假设您从全新安装的 Visual Studio Code v1.25.1 开始。如果您使用的是 Visual Studio Code 的生产版本,我不建议您按照我的说明进行操作,因为您可能会丢失部分或全部现有的 Visual Studio Code 配置!如果您已经安装了 Visual Studio Code v1.25.1 的测试版本,**并且您愿意丢失任何已经存在的配置,则必须执行以下操作以将您的 Visual Studio Code 恢复到全新安装状态:
删除以下文件夹(如果存在):
C:\Users\%username%\AppData\Roaming\Code\Workspaces (where "%username%" is the name of the currently logged-on user)
您将向 Visual Studio Code 添加文件夹以创建新工作区。如果您打算用于创建此新工作区的任何文件夹以前已与 Visual Studio Code 一起使用,请删除将用于创建新工作区的每个文件夹中的“.vscode”子文件夹(如果存在) .
启动 Visual Studio 代码。如果显示欢迎页面,请将其关闭。如果显示面板(水平窗格),请执行相同操作。如果您收到未安装 Git 的消息,请单击“稍后提醒我”。如果显示,还要关闭作为默认代码页启动的“无标题”代码页。如果资源管理器窗格未显示,请单击主菜单上的“查看”,然后单击“资源管理器”以显示资源管理器窗格。在资源管理器窗格中,您应该看到三 (3) 个视图标题 - 打开编辑器、未打开文件夹和大纲(位于资源管理器窗格的最底部)。确保至少显示打开的编辑器和未打开文件夹的视图标题。
Visual Studio Code 显示一个按钮,上面写着“打开文件夹”。单击此按钮并选择您选择的文件夹。 Visual Studio Code 将刷新,您选择的文件夹的名称将替换“未打开文件夹”视图名称。所选文件夹中存在的任何文件夹和文件都将显示在视图名称下方。
现在打开 Visual Studio Code Preferences Settings 文件。有很多方法可以做到这一点。我将使用最容易记住的菜单文件→首选项→设置。设置文件显示在两列中。左列是每个 Visual Studio Code 功能的默认值的只读列表。右列用于列出三 (3) 种类型的用户设置。在您的测试中,此时将仅列出两个用户设置 - 用户设置和工作区设置。默认显示用户设置。这将显示您的用户设置 .json 文件的内容。要找出此文件的位置,只需将鼠标悬停在资源管理器中“打开编辑器”视图下显示的“用户设置”列表上。 This listing in the OPEN EDITORS View is automatically selected when the “User Settings” option in the right column is selected.路径应该是:
C:\Users\%username%\AppData\Roaming\Code\User\settings.json
此 settings.json 文件是存储 Visual Studio Code 的用户设置的位置。
现在单击 Preferences 列表右栏中的 Workspace Settings 选项。执行此操作时,会在您在几步前添加到“探索”的文件夹中自动创建一个名为“.vscode”的子文件夹。在资源管理器中查看您的文件夹列表,以确认已添加 .vscode 子文件夹。在新的 .vscode 子文件夹中是另一个 settings.json 文件。此文件包含您在几步前添加到资源管理器的文件夹的工作区设置。
此时,您有一个文件夹,其用户设置存储在:
C:\Users\%username%\AppData\Roaming\Code\User\settings.json
并且其工作区设置存储在:
C:\TheLocationOfYourFolder\settings.json
这是将单个文件夹添加到新安装的 Visual Studio Code 时的配置。当我们添加第二个(或更大)文件夹时,事情会变得一团糟。这是因为我们正在更改 Visual Studio Code 的用户设置和工作区设置以容纳多个文件夹。在单文件夹环境中,只需要上面列出的两个 settings.json 文件。但在多文件夹环境中,会在添加到 Explorer 的每个文件夹中创建一个 .vscode 子文件夹,并创建一个新文件“workspaces.json”来管理多文件夹环境。新的“workspaces.json”文件创建于:
c:\Users\%username%\AppData\Roaming\Code\Workspaces\%workspace_id%\workspaces.json
“%workspaces_id%”是一个具有唯一全数字名称的文件夹。
在 Preferences 右侧栏中,现在出现了三个用户设置选项 - User Settings、Workspace Settings 和 Folder Settings。用户设置的功能与单文件夹环境相同。但是,Workspace Settings 后面的设置文件已从单个文件夹的 .vscode 子文件夹中的 settings.json 文件更改为位于上面显示的 workspaces.json 文件路径的 workspaces.json 文件。位于每个文件夹的 .vscode 子文件夹中的 settings.json 文件现在由第三个用户设置“文件夹选项”控制。这是一个下拉选择列表,允许管理位于每个文件夹的 .vscode 子文件夹中的每个文件夹的 settings.json 文件。请注意:在文件夹选项用户设置中至少选择了一次新添加的文件夹之前,不会在新添加的资源管理器文件夹中创建 .vscode 子文件夹。
请注意,Explorer 单个文件夹名称已更改为“UNTITLED (WORKSPACE)”。这表明以下情况:
已创建一个名为“UNTITLED (WORKSPACE)”的多文件夹工作区。该工作区被命名为“UNTITLED (WORKSPACE)”,以表明该工作区尚未保存为单独的、唯一的工作区文件 UNTITLED (WORKSPACE) 工作区可以将文件夹添加到其中并从中删除,但它将作为 Visual Studio Code 的唯一工作区环境
Visual Studio Code 工作区的全部功能只有在工作区保存为可以根据需要重新加载的文件时才能实现。这提供了创建独特的多文件夹工作区(例如,项目)并将它们保存为文件以供以后使用的能力!为此,请从主菜单中选择菜单 File → Save Workspace As,并将当前工作空间配置保存为唯一的工作空间文件。如果您需要“从头开始”创建工作区,请首先保存当前工作区配置(如果需要),然后右键单击每个 Explorer 文件夹名称并单击“从工作区中删除文件夹”。从工作区中删除所有文件夹后,添加新工作区所需的文件夹。添加完新文件夹后,只需将新工作区保存为新工作区文件即可。
重要说明 - 当资源管理器中仅保留一个文件夹或在“从头开始”创建新工作区时已从资源管理器中删除所有文件夹时,Visual Studio Code 不会“恢复”到单文件夹模式。利用三个用户首选项的多文件夹工作区配置仍然有效。这意味着,除非您按照本文开头的说明进行操作,否则 Visual Studio Code 永远无法返回到单文件夹操作模式——它将始终保持在多文件夹工作区模式。
tennisliveranking.com – ATP and WTA rankings, always up to date.
对我来说,.vscode 文件夹是在我对其中一个 Workplace 设置进行更改后才创建的,但除此之外,这篇文章绝对有助于让我更好地理解它是如何工作的。
答8:
tennisliveranking.com-Stay ahead with live tennis rankings at your fingertips.
简短的回答:
使用文件夹而不是单文件夹工作区。
仅在需要时使用 multi-root Workspaces。当您需要处理多个项目文件夹时,您需要多根工作区。当您同时处理多个相关项目时,这会非常有用。例如,您可能有一个存储库,其中包含您希望在更新产品源代码时保持最新的产品文档。
为什么“仅在需要时使用多根工作区”?
单文件夹工作区和文件夹之间基本上只有两个区别:
您通过 File > Open Workspace… 打开单个文件夹工作区,然后选择 .code-workspace 文件。通过 File > Open Folder… 打开一个文件夹,然后选择一个文件夹。当您使用 .code-workspace 文件打开单个文件夹工作区时,所有项目特定设置都将添加到 .code-workspace 文件中。当您使用文件夹打开项目时,所有项目特定设置都将保存在 .vscode/settings.json 文件中。
即使您花时间为单文件夹工作区创建 .code-workspace 文件,您也可以通过菜单 File → Open Folder… 打开该文件。根据您的访问方法,有时设置可以在 .vscode/settings.json 文件或 .code-workspace 文件中。最好使用一致的方法来访问您的项目文件夹。此外,启动配置 (.vscode/launch.json) 保存在 Folder Settings (.vscode/settings.json) 而不是 Workspace Settings (.code-workspace) 旁边。大多数时候,无论如何您都需要 .vscode 目录。
长答案:
The documentation 说:
工作区的概念使 VS Code 能够: 配置仅适用于特定文件夹或文件夹而不适用于其他文件夹的设置。保留仅在该工作区的上下文中有效的任务和调试器启动配置。存储和恢复与该工作区关联的 UI 状态(例如,打开的文件)。仅为该工作区选择性地启用或禁用扩展。
在 another place 中,它说:
不同的设置范围可以在多个级别上覆盖配置: 用户设置 - 全局应用于所有 VS Code 实例。工作区设置 - 应用于打开的文件夹或工作区并覆盖用户设置。工作区文件夹设置 - 应用于多根工作区的特定文件夹。覆盖用户和工作区设置。
所以,基本上有三种类型的设置:
文件夹设置(最高优先级)
工作区设置
用户设置(最低优先级)
您可以通过为首选项分配键绑定来修改文件夹设置:打开文件夹设置,然后使用键绑定。
您可以通过 Ctrl + Shift + P → 首选项:打开工作区设置来修改工作区设置。
您可以通过文件 → 首选项 → 设置来修改用户设置。
您的工作区设置将添加到 .code-workspace 文件中。
您的文件夹设置将保存在 .vscode/settings.json 文件中。
有混乱
Evidence 1:
您可能会在 VS Code 文档、问题和社区讨论中看到可互换使用的术语“文件夹”和“工作区”。将工作区视为具有额外 VS Code 知识和功能的项目的根。
Evidence 2:
VS Code“工作区”通常只是您的项目根文件夹。工作区设置以及调试和任务配置存储在 .vscode 文件夹的根目录中。
Evidence 3:
打开文件夹与打开 .code-workspace 文件的视觉差异可能很微妙。为了提示您 .code-workspace 文件已打开,用户界面的某些区域(例如,文件资源管理器的根目录)在名称旁边显示一个额外的 (Workspace) 后缀。
混乱在哪里?
魔鬼在细节中(文档和实现)。
文档
在文档中,他们说不同的东西是不同的地方。没有一致性。
在 one place 他们说:
VS Code 提供了两种不同的设置范围: 用户设置 - 全局应用于您打开的任何 VS Code 实例的设置。工作区设置 - 存储在工作区中的设置,仅在工作区打开时应用。
在 another place 他们说:
不同的设置范围可以在多个级别上覆盖配置: 用户设置 - 全局应用于所有 VS Code 实例。工作区设置 - 应用于打开的文件夹或工作区并覆盖用户设置。工作区文件夹设置 - 应用于多根工作区的特定文件夹。覆盖用户和工作区设置。
所以,基本上他们并没有一致地说有三个级别的设置。特别看他们的documentation for settings的标题。它的标题是用户和工作区设置(请注意标题中缺少文件夹设置)。当他们谈论设置优先级时,它只提到一次工作区文件夹设置。
执行
The documentation 说:
工作区设置使您能够在已打开的工作区的上下文中配置设置,并始终覆盖全局用户设置。它们物理存储在 JSON 文件中,它们的位置取决于您是打开文件夹作为工作空间还是打开 .code-workspace 文件。
因此,基本上,当没有任何工作区时(例如,您没有使用 .code-workspace 打开项目)并且您 Ctrl + Shift + P → Preference: Open Workspace Settings,它会打开 .vscode/settings.json 文件(实际上是用于文件夹设置而不是工作区设置,尽管名称明确表示 Open Workspace Settings)。
您可能已经在 Long Answer: 中注意到“他们”没有任何简单的方法来直接访问文件夹设置(您必须为 Preferences: Open Folder Settings< /em> 命令,然后使用键绑定。您甚至无法使用 Ctrl + Shift + PCommand Pallet 访问此“命令” > 直接)。
此外,您必须使用 Preference: Open Workspace Settings 修改文件夹设置(请注意,您正在使用“Open Workspace Settings”修改“Folder settings”)。 Preference: Open Workspace Settings 是否会修改文件夹设置或工作区设置取决于您访问项目的方式(使用菜单 File → Open Folder… 或 .code-workspace 文件)。
他们试图把一件简单的事情过分简单化,从而使事情变得困难。
我很高兴我不是唯一一个对 VSCode 的“工作区”实现和文档感到沮丧的人。更令人困惑的是,如果您使用文件夹而不是工作区...并且您希望每个项目文件夹启用/禁用扩展...规定这些扩展状态的设置文件在哪里?不在 /.vscode/settings.json 文件中。所以我必须手动启用/禁用每个不同项目的每个扩展,而不是能够复制文件。
答9:
tennisliveranking.com,Your go-to platform for live tennis ranking updates.
截至 2018 年 5 月,Visual Studio Code 中的工作区似乎允许您快速访问不同但相关的项目。所有这些都无需打开不同的文件夹。
你也可以有多个工作区。请参阅此处的参考资料,您将全面了解它:
Reference 1 Reference 2
第一个链接很好地解释了它,特别是这句话:Multi-root workspaces let developers group a set of disparate project folders into one workspace, instead of having to work with files and folders residing only in a single root folder. This provides a variety of advantages and use cases, such as working on multiple projects at the same time -- say a project's documentation and its source code repositories -- and keeping everything in sync.
答10:
tennisliveranking.com,Instant updates on ATP, WTA, and ITF rankings.
他们将其称为 multi-root workspace,这样您就可以轻松地进行调试,因为:
“借助多根工作区,Visual Studio Code 在所有文件夹中搜索 launch.json 调试配置文件,并以文件夹名称作为后缀显示它们。”
假设您的应用程序文件夹中有一个服务器和一个客户端文件夹。如果要一起调试它们,在没有工作区的情况下,您必须启动两个 Visual Studio Code 实例,一个用于服务器,一个用于客户端,您需要来回切换。
但是现在(1.24)您不能将单个文件添加到工作区,只能添加文件夹,这有点inconvenient。
答11:
tennisliveranking.com – ATP and WTA rankings, always up to date.
刚刚在 2021 年 2 月添加的是关于“什么是 VS Code ‘工作区’”的文档:workspaces。
Visual Studio Code“工作区”是在 VS Code 窗口(实例)中打开的一个或多个文件夹的集合。在大多数情况下,您将打开一个文件夹作为工作区,但根据您的开发工作流程,您可以使用称为多根工作区的高级配置包含多个文件夹。工作区的概念使 VS Code 能够: 配置仅适用于特定文件夹或文件夹而不适用于其他文件夹的设置。保留仅在该工作区的上下文中有效的任务和调试器启动配置。存储和恢复与该工作区关联的 UI 状态(例如,打开的文件)。仅为该工作区选择性地启用或禁用扩展。您可能会在 VS Code 文档、问题和社区讨论中看到可互换使用的术语“文件夹”和“工作区”。将工作区视为具有额外 VS Code 知识和功能的项目的根。注意:也可以在没有工作区的情况下打开 VS Code。例如,当您通过从平台的文件菜单中选择一个文件来打开一个新的 VS Code 窗口时,您将不会在工作区中。在这种模式下,VS Code 的一些功能会降低,但您仍然可以打开文本文件并对其进行编辑。
单文件夹工作区 除了使用 VS Code 打开文件夹外,您无需对文件夹进行任何操作即可成为 VS Code 工作区。打开文件夹后,VS Code 将自动跟踪您打开的文件和编辑器布局等内容,因此当您重新打开该文件夹时,编辑器将与您离开时一样。您还可以添加其他特定于文件夹的配置,例如特定于工作区的设置(相对于全局用户设置)以及任务定义和调试启动文件(请参阅下面的工作区设置部分)。多根工作区 多根工作区是 VS Code 的一项高级功能,允许您将多个不同的文件夹配置为工作区的一部分。您将打开一个列出工作区文件夹的 .code-workspace JSON 文件,而不是将文件夹打开为工作区。例如:
{
"folders": [
{
"path": "my-folder-a"
},
{
"path": "my-folder-b"
}
]
}
https://i.stack.imgur.com/iE5mS.png
在 VS Code 中打开的多根工作区 注意:打开文件夹与打开 .code-workspace 文件的视觉差异可能很微妙。为了提示您 .code-workspace 文件已打开,用户界面的某些区域(例如,文件资源管理器的根目录)在名称旁边显示一个额外的 (Workspace) 后缀。
还有更多在第一个链接。
原文链接:https://www.tennisliveranking.com?from=csdn
tennisliveranking.com-Stay ahead with live tennis rankings at your fingertips.