VS Code - 如何回滚扩展/安装特定扩展版本

问题描述 投票:0回答:3

刚刚获得了 Golang 扩展的更新,它似乎被破坏了,在

package main
上报告了一个错误,这实际上只是我的导入列表,没有任何有用的信息(请参见下面的屏幕截图)。它拒绝 lint 或做任何有用的事情,这很烦人。

screenshot of error in VS Code

所以我想快速跳回到以前的版本,我该如何在 VS Code 中做到这一点?我似乎根本无法在文档中找到它。

注意:我使用的是 VS Code 版本 1.10.1,仅包含 golang 包。该代码是有效的 golang。

visual-studio-code
3个回答
164
投票

vscode v1.91 更新,请参阅发行说明:扩展安装选项

我们添加了更多选项,让您在安装时更加灵活 扩展:

Install an extension without syncing it.

Install a specific version of an extension. Previously, you first had to install the latest version of the extension before you could

选择特定版本。

这些操作可在扩展程序的上下文菜单中使用 扩展视图:

Release Notes for v1.91 extension install options

因此,您可以直接安装已卸载的扩展的先前版本,而无需先安装最新版本。 对于已安装的扩展,还可以在扩展列表中(通过上下文菜单或齿轮图标)选择安装其他版本。


从 v1.30 发行说明开始:安装以前版本的扩展

您现在可以返回到扩展程序的先前版本(如果有) 当前版本的问题。 VS Code 提供了 Install Another 对已安装扩展的版本操作,显示下拉列表 可用版本。

安装其他版本的选项位于上下文菜单中。 或者每个扩展的齿轮图标。 或者 vscode 中的扩展页面:

Uninstall
下拉菜单:
Install another version...

对我来说,当我这样做时 - without“禁用自动更新扩展”(我假设 Chrome 调试器就是这样一个扩展),它不会在重新加载或关闭/打开时自动更新,但会显示该扩展的按钮安装最新版本。

因此,它出现,您不必禁用所有自动更新扩展,只是为了将一个扩展恢复到旧版本并保持该旧版本。 【如有不实请评论,谢谢】

vscode v1.75 更新:

请参阅固定扩展(到特定版本)

确保您启用了扩展程序自动更新并尝试固定 使用以下 UI 扩展至特定版本。确保 固定后扩展不会自动更新。

从 CLI :使用以下格式安装特定版本 -

code-insiders --install-extension [email protected]

从扩展 UI - 使用 *

Install Another Version...
操作 已安装扩展的上下文菜单。

确保固定版本在 VS Code 实例之间同步 - 使用 设置同步功能来测试这一点。拥有不同的 VS 实例 在同一台机器上编码,使用不同的 CLI 从 CLI 打开 VS Code

user-data-dir
extensions-dir
。例如:
code-insiders --user-data-dir <path> --extensions-dir <path>

使用固定扩展导出和导入配置文件,并确保 在导入的配置文件中,扩展名仍处于固定状态。出口和进口 配置文件操作可在全局活动上下文菜单中使用 (齿轮)。

Si 看来,无论

Disable Auto Updating Extensions
设置如何,固定/恢复到扩展程序的先前版本应该会导致该扩展程序不更新。

revert extension 1

revert extension 2


3
投票

[编辑]现在支持 -> 查看接受的答案

目前还不支持降级

但是,您可以卸载扩展,然后手动下载并安装特定版本:https://code.visualstudio.com/docs/extensions/install-extension

还有这个优秀的答案:如何离线安装 VSCode 扩展?


1
投票

降级有效,但有一个有趣的例外。 新的 Ansible 插件是 2.0.58,有一个名为 LightSpeed 的“功能”,据称可以实现 AI 辅助。

但是,它基本上坚持要求您登录并授予其访问您的 GitHub 的权限才能工作。 因此,如果您看到以下消息:

Sign in with Ansible LightSpeed to enable Ansible(1)

您需要“安装另一个版本...”并返回到 1.2.44 或之前的版本。 当 vscode 提示“需要重新加载”时,重新加载即可。 以下是 GitHub 问题的链接,其中 LightSpeed 无法禁用,并且还阻止了插件的全部功能。

https://github.com/ansible/vscode-ansible/issues/859

但是,如果您在 CLI 上执行此操作:

code --install-extension [email protected]

输出表明成功:

Installing extensions...
Updating the extension 'redhat.ansible' to the version 1.2.44
Installing extension 'redhat.ansible' v1.2.44...
(node:48416) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `Code --trace-deprecation ...` to show where the warning was created)
Extension 'redhat.ansible' v1.2.44 was successfully installed.

然后在 vscode 控制台中,提示“Reload required”。 但是当您选择它时,它会重新加载,然后自动更新回当前的 2.0.58。

来回测试了至少十几次。 不确定该插件是否是唯一的例外,但请确保在使用 CLI 降级时仔细检查版本,特别是如果它是 redhat.ansible 插件。

© www.soinside.com 2019 - 2024. All rights reserved.