为什么我的某些扩展无法在 VS Code 1.57 中运行?

Mat*_*ner 10 visual-studio-code

我刚刚升级到 VS Code 1.57,现在我的许多扩展都无法工作!似乎它们甚至没有启用。我尝试重新启动,但没有解决问题

这是怎么回事?我该如何解决这个问题?他们在 VS Code 1.56 上工作得很好

Mat*_*ner 19

虽然扩展无法工作的原因有很多很多,但在 VS Code 1.57 中,您遇到的一大新原因是工作区信任

工作区信任会尝试在您浏览代码时确保您的安全,即使该代码来自不可信的来源。由于扩展可能会加载并执行当前工作区中的内容,因此在 VS Code 1.57 扩展中,默认情况下在“受限模式”(不受信任的工作区)下禁用运行代码

检查扩展是否由于工作区信任而被禁用

如果您处于受限模式,您应该Restricted mode在状态栏中看到:

状态栏中的“受限模式”

要检查您安装的某个扩展是否因您处于“受限模式”而被禁用:

  1. 打开扩展视图
  2. 搜索@installed并找到您感兴趣的扩展

由于工作区信任而被禁用的扩展将淡出,并且旁边有一个小盾牌:

受限模式下禁用的分机

启用所有扩展

要再次启用所有扩展,请通过运行命令来信任当前工作区Workspace: Manage Workspace Trust,然后信任当前工作区(在 VS Code 中按 F1 并搜索它)。

有选择地启用扩展

Extensions: Support Untrusted Workspaces您还可以使用以下设置有选择地在“受限模式”下启用各个扩展

您需要在 JSON 编辑器中编辑此设置。设置值是一个使用扩展 id 作为键的对象:

"extensions.supportUntrustedWorkspaces": {
  "ms-azuretools.vscode-docker": {
    "supported": true,

    // Omit the version if you want the extension to
    // be enabled for every version
    "version": "1.13.0" 
  },
}
Run Code Online (Sandbox Code Playgroud)

随着时间的推移,许多扩展应该更新以支持工作区信任的概念。这意味着扩展程序可以选择在“受限模式”下启用还是禁用它们。某些扩展程序也可能会在“受限模式”下启用自己,但会限制潜在危险的功能

请注意,即使在“受限模式”下,主题和语法等简单扩展也始终处于启用状态。