34

在 VS Code 1.57 中,我在状态栏的左侧看到了这个:

在此处输入图像描述

什么是Restricted mode以及如何从状态栏中删除它?

4

5 回答 5

30

什么是受限模式?

乍一看,这种新的“限制模式”似乎没有必要且突兀。

我相信它的目的是防止执行不受信任的代码 - 例如作为扩展的结果或在不受信任的文件上使用“调试”选项。它的工作方式似乎与 MS Office 应用程序(如 MS Word)上的受限模式类似,后者在手动启用之前限制编辑、保存和打印文件。

关于 Workspace Trust 的 Visual Studio Code 文档

Restricted Mode 试图通过禁用或限制几个 VS Code 功能的操作来阻止自动代码执行:任务、调试、工作区设置和扩展。

就个人而言,我从来没有遇到过这样的情况,这会成为一个问题,而且它似乎是一种持续的麻烦,因为它可能有用的一个场合。也就是说,我想有些人会更频繁地使用可能存在问题的文件。

我能做些什么呢?

有四个新设置允许我们自定义此功能: VS Code 1.57 中的安全设置

如果您想删除该功能,您可以关闭Trust,它“控制是否在 VS Code 中启用工作区信任”。我已经尝试过了,它似乎完全禁用了这个新功能——甚至从命令面板中删除了相关选项。

您还可以控制 VS Code 在打开空环境时的工作方式以及 VS Code 对不受信任文件的行为方式。

如果您启用“信任”,您还可以配置您认为“安全”的文件夹 - 例如您常用的工作区与您的下载文件夹。

请按照以下步骤配置您的受信任文件夹

  1. 点击CTRL++ (或您的本地等效项SHIFTP打开命令面板。
  2. 开始输入Workspaces: Manage Workspace Trust并在出现时选择条目。
  3. 或者,单击齿轮并选择“管理工作场所信任”,因为那里似乎有一个新条目。
  4. 您将看到以下表格,其中显示了信任/不信任当前窗口的选项以及左下角用于配置受信任文件夹的选项:

管理工作区信任

  1. 选择底部的“添加文件夹”按钮并添加您信任的文件夹。

我在哪里可以找到更多信息?

可以在 GitHub 上找到VS Code v1.57的发行说明。在 code.visualstudio.com 上还有一个专门用于工作区信任的特定页面

于 2021-06-11T16:04:33.313 回答
28

如何禁用“信任”功能

这将禁用所有提示和信任模式功能,使 vscode 的行为与添加此功能之前完全相同。

  • 图形用户界面(ctrl,)

    • 在设置菜单中搜索“信任”并取消选中:security.workspace.trust.enabled
  • 设置.json

    • 添加以下行:"security.workspace.trust.enabled": false

在此处输入图像描述

于 2021-06-24T17:31:47.217 回答
3

另一个新选项,来自 VSCode 1.58(2021 年 6 月)

工作区信任横幅设置

说到配置工作区信任功能的设置,您会注意到一个新设置要配置,当横幅出现以通知指示当前窗口处于受限模式时。

security.workspace.trust.startupPrompt设置一样,新security.workspace.trust.banner功能允许您在熟悉 Workspace Trust 功能后完全禁用横幅,并且不需要任何指示您的哪些窗口处于受限模式。

默认情况下,此横幅在每个工作区显示一次,并一直保留到被关闭为止。

注意: Chris Dias的新文章(2021 年 7 月)“工作空间信任”详细介绍了“信任”概念。

我们特别询问您是否信任此工作区的作者,因为 VS Code 无法判断代码是否恶意(嘿,我们只知道 1 和 0),它来自哪里,如果您打算为该项目做出贡献,等等

另一方面,您很聪明,并且您知道代码的来源:您(好的)、您的公司(可能还好)、您的好友 Kai(取决于)或互联网上的某个随机人(绝对不是)。

这些知识有助于使工具更智能。如果你相信作者,那就太好了!这些工具和扩展已经为他们的事情开了绿灯,并提供了一种神奇的体验,我们不会再打扰你了。

如果你不这样做,你是在告诉我们要小心 VS Code,不要执行任何代码。这就是我们所说的受限模式,其中可能有害的功能被禁用,因此您可以更安全地浏览代码并最终做出明智的决定。

笔记:

通过我们自己的 dogfooding 以及对其他开发人员的采访,我们发现人们通常有一个主文件夹,他们将所有资源都放在其中并认为它是值得信赖的。

因此,我们添加了直接从对话框信任父文件夹的能力。
您可以一键信任它和所有子文件夹,然后您将不会再次看到信任提示。

https://code.visualstudio.com/assets/blogs/2021/07/06/trust-parent-folder-checkbox.png

于 2021-07-07T07:06:22.357 回答
1

Restricted mode表示您当前在不受信任的工作区(“受限模式”)中工作。在“受限模式”下,某些编辑器功能(调试、任务、某些扩展)被禁用,以确保您在处理来自未知来源的项目时的安全。

要禁用Restricted mode状态栏条目:

  1. 右键单击状态栏
  2. 取消选中workspace trust条目

右键单击状态栏后取消选中“工作区信任”

请注意,这只会隐藏状态栏条目,不会更改工作区的受信任状态。此答案涵盖有关工作区信任、如何信任工作区(也删除状态栏条目)以及如何在需要时完全禁用工作区信任的更多详细信息

即使禁用状态栏条目,您也可以始终使用命令Restricted Mode信任工作区Workspace: Manage Workspace Trust

于 2021-06-10T04:34:12.907 回答
1

受限模式

当工作区信任对话框提示时,如果您选择否,我不信任作者,VS Code 将进入受限模式以阻止代码执行。工作台将在顶部显示一个横幅,其中包含通过 Workspace Trust 编辑器管理您的文件夹和了解有关 Workspace Trust 的更多信息的链接。

在此处输入图像描述

您还将在状态栏中看到受限模式徽章。

在此处输入图像描述

Restricted Mode 试图通过禁用或限制几个 VS Code 功能任务、调试、工作区设置和扩展的操作来阻止自动代码执行。

要查看在受限模式下禁用的功能的完整列表,您可以通过横幅中的管理链接或单击状态栏中的受限模式徽章打开 Workspace Trust 编辑器。

在此处输入图像描述

更多信息

于 2021-06-13T08:13:09.720 回答