从命令行禁用Visual Studio扩展

6

是否可以通过命令行禁用Visual Studio中的特定扩展,而不是手动启动Visual Studio并从工具中禁用它?

2个回答

3

我不确定如何禁用一个扩展程序,但您可以使用 VSIXInstaller.exe 卸载它。

从 Visual Studio 开发人员命令提示符中:

VSIXInstaller.exe /uninstall:<vsixid>

用法

VSIXInstaller.exe [/quiet] [/norepair] [/admin] [/prerequisitesRequired] [/force] [/instanceIds:instanceIds] [/appIdInstallPath:已安装SKU的路径] [/appIdName:目标安装名称] [/skuName:名称/skuVersion:版本] [/logFile:filename] </uninstall:vsixID | /downgrade:vsixID | vsix_path>

选项

/quiet

禁止显示UI,简写为'/q'。

/norepair

禁用VSIX安装程序的修复支持,并在扩展已安装时强制VSIX安装程序失败。简写为'/nr'。

/admin

将扩展安装到管理员扩展位置。简写为'/a'。

/prerequisitesRequired

仅将扩展安装到完全符合所有前提条件的实例中。简写为'/p'。

/force

允许覆盖文件。这仅适用于“per-machine”扩展的安装。简写为'/f'。

/shutdownprocesses

在UI被禁止时强制关闭阻塞进程。简写为'/sp'。

/noextensionpack

禁用扩展包的解压缩。简写为'/noep'。

/appIdInstallPath:<已安装SKU的路径>

要安装或卸载的SKU(产品)的安装路径。如果指定了此选项,则还必须指定/appName、/skuName和/skuVersion。

/appIdName:<名称>

要安装或卸载的应用程序名称,例如VS、Blend等...

/skuName:<名称>

要将扩展安装或卸载到的SKU的名称。必须与/skuVersion一起使用。有效值包括:

  • Enterprise - (Visual Studio企业版)

  • Ultimate - (Visual Studio旗舰版)

  • Premium - (Visual Studio高级版)

  • Pro - (Visual Studio专业版)

  • Community - (Visual Studio社区版)

  • IntegratedShell - (Visual Studio Shell - 集成模式)

  • VSWinExpress - (Visual Studio Express for Windows)

  • VSWinDesktopExpress - (Visual Studio Express for Windows Desktop)

  • VWDExpress - (Visual Studio Express for Web)

可以指定隔离的 Shell 名称。简写形式为“/s”。

/skuVersion:<version>

安装或卸载扩展所要安装或卸载的应用程序版本,格式为 major.minor[.build[.revision]]。必须与 /skuName 一起使用。简写形式为“/v”。

/logFile:<filename>

指定用于记录日志的文件名。如果该文件已经存在,则将追加到该文件中。日志将始终放置在 %TEMP% 中。如果没有指定此参数,或者参数无效,则会生成一个文件名。简写形式为“/log”和“/l”。

/uninstall:<vsixID>

卸载指定标识符的扩展。如果未指定 /skuName 和 /skuVersion,则该扩展将从包含相应标识符的扩展的所有产品中卸载。简写形式为“/u”。

/instanceIds:<instanceId>

由逗号分隔的实例 ID 列表,其中安装或卸载了扩展及其依赖项。如果未指定实例 ID,则扩展及其依赖项将安装或卸载到所有实例中。

/downgrade:<vsixID>

将具有相应标识符的产品内扩展恢复为先前安装的版本。简写形式为“/d”。

/rootSuffix:<root suffix>

用于安装的根后缀,例如 Exp(针对目标安装的实验实例)。

/culture:<culture>

标识 VSIX 安装程序应在其中运行的区域性的字符串。

参数

<vsix_path>

有效的 .vsix 文件的路径。当指定 /uninstall 时,此参数无效。


2
挽救了我的一天。在安装扩展后,VS在启动时变得无响应。要获取vsixid,您需要将*.vsix文件作为zip存档文件打开并打开manifest.json。在这里,您将找到id。这是您需要传递给/uninstall:<vsixid>的ID。 - vocasle
Vsix ID也可以从扩展的市场页面中检索。在右侧的资源下面,有一个名为“复制ID”的链接。 - Ramon Zarazua B.

2
作为补充,
命令行无法禁用已安装的 VS 扩展,而且命令行只能执行安装或卸载相关的操作。
禁用操作仅适用于 VS IDE。实际上,VS 扩展本身是设计用于 IDE 而不是命令行的。因此,只有 IDE 才能获得完整的功能来操纵它。 VSIXInstaller.exeMicrosoft 迈出的一大步,但命令行操作本身存在局限性和改进空间。但是到目前为止,无法在命令行下禁用扩展。
如果您可以轻松卸载这个特定的插件,可以尝试 Drew 的建议。如果您仍然想要禁用它而不是卸载它,您必须打开 VS IDE,然后点击禁用选项。
或者您可以在我们的 DC 论坛上提出一个功能建议。当您完成后,您可以在此处分享链接,任何对此感兴趣的人,包括我们在内,都会投票赞同,以便它能够得到更多来自Microsoft的关注。

@Giorgi,既然你在这里无事可做,而且还必须等待团队的回应,我建议你接受这个答案。由于这是一个功能请求,并且为其他社区成员提供了正确的指导,你这样做是很友善的。我们已经为你投了票,希望得到有意义的团队回应。 - Mr Qian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接