现已推出!阅读 10 月份的新功能和修复。

扩展市场

Visual Studio Code 内置的功能只是开始。VS Code 扩展允许您将语言、调试器和工具添加到您的安装中,以支持您的开发工作流程。VS Code 丰富的可扩展性模型允许扩展作者直接插入 VS Code UI,并通过与 VS Code 使用的相同 API 贡献功能。本文介绍如何从 Visual Studio Code 市场 查找、安装和管理 VS Code 扩展。

浏览扩展

您可以从 VS Code 内部浏览和安装扩展。单击 VS Code 侧面“活动栏”中的“扩展”图标或“查看:扩展”命令(⇧⌘X(Windows、Linux Ctrl+Shift+X)),打开“扩展”视图。

Extensions view icon

这将显示 VS Code 市场 上最受欢迎的 VS Code 扩展列表。

popular extensions

列表中的每个扩展都包括简要描述、发布者、下载次数和五星评级。您可以选择扩展项以显示扩展的详细信息页面,您可以在其中了解更多信息。

**注意:** 如果您的计算机的互联网访问通过代理服务器,您需要配置代理服务器。有关详细信息,请参阅 代理服务器支持

安装扩展

要安装扩展,请选择“安装”按钮。安装完成后,“安装”按钮将变为“管理”齿轮按钮。

如果您想安装扩展的特定版本,请右键单击扩展并选择“安装其他版本”。然后,您可以从可用列表中选择一个版本。

启用 设置同步 后,您可以在您的机器之间共享您的 VS Code 配置,例如扩展。要安装扩展但不将其同步到您的机器,请右键单击扩展并选择“安装(不同步)”。

查找和安装扩展

例如,让我们安装流行的 TODO Highlight 扩展。此扩展突出显示源代码中的“TODO:”和“FIXME:”之类的文本,以便您可以快速找到未完成的部分。

TODO Highlight extension highlighting in the editor

在“扩展”视图(⇧⌘X(Windows、Linux Ctrl+Shift+X)) 中,在搜索框中输入“todo”以将市场产品过滤到标题或元数据中包含“todo”的扩展。您应该在列表中看到“TODO Highlight”扩展。

Search for todo in the Extensions view

扩展通过其发布者和扩展 ID 唯一标识。如果您选择“TODO Highlight”扩展,您将看到“扩展”详细信息页面,您可以在其中找到扩展 ID,在本例中为 wayou.vscode-todo-highlight。如果您有多个名称相似的扩展,知道扩展 ID 会很有帮助。

TODO Highlight extension details with extension ID highlighted

选择“安装”按钮,VS Code 将从市场下载并安装扩展。安装完成后,“安装”按钮将被“管理”齿轮按钮替换。

Manage gear button

要查看 TODO Highlight 扩展的实际效果,请打开任何源代码文件并添加文本“TODO:”,您将看到文本被突出显示。

TODO Highlight 扩展贡献了以下命令:**TODO-Highlight: List highlighted annotations** 和 **TODO-Highlight: Toggle highlight**,您可以在“命令面板”(⇧⌘P(Windows、Linux Ctrl+Shift+P)) 中找到它们。**TODO-Highlight: Toggle highlight** 命令允许您快速禁用或启用突出显示。

TODO Highlight commands in the Command Palette

该扩展还提供用于调整其行为的设置,您可以在“设置”编辑器(⌘,(Windows、Linux Ctrl+,)) 中找到这些设置。例如,您可能希望文本搜索不区分大小写,您可以取消选中“Todohighlight: Is Case Sensitive”设置。

TODO Highlight settings in the Settings editor

如果扩展没有提供您想要的功能,您始终可以通过“管理”按钮上下文菜单**卸载**扩展。

Uninstall the TODO Highlight extension

这只是一个安装和使用扩展的示例。VS Code 市场有数千个扩展,支持数百种编程语言和任务。从针对 JavaPythonGoC++ 的完整语言支持到简单的扩展,例如 创建 GUID、更改 颜色主题 或向编辑器添加 虚拟宠物

扩展详细信息

在扩展详细信息页面上,您可以阅读扩展的 README 并查看扩展的

  • **功能贡献** - 扩展对 VS Code 的添加,例如设置、命令和键盘快捷键、语言语法、调试器等。
  • **变更日志** - 如果可用,扩展存储库 CHANGELOG。
  • **依赖项** - 列出扩展是否依赖任何其他扩展。

extension contributions

如果扩展是扩展包,**扩展包** 部分将显示安装扩展包时将安装哪些扩展。 扩展包 将单独的扩展捆绑在一起,以便可以一次轻松地安装它们。

Azure Tools extension pack

扩展视图过滤器和命令

您可以使用“过滤扩展”上下文菜单过滤扩展视图。

Extensions view filter context menu

有以下过滤器可用于显示

  • 可以更新的已过时扩展列表
  • 当前已启用/禁用的扩展列表
  • 根据您的工作区推荐的扩展列表
  • 全球流行扩展的列表

您可以按“安装次数”、“评分”、“名称”、“发布日期”或“更新日期”升序或降序对扩展列表进行排序。您可以在 下方 了解更多关于扩展搜索过滤器的信息。

您可以通过“...”“查看和更多操作”按钮运行其他扩展视图命令。

more button

通过此上下文菜单,您可以控制扩展更新,启用或禁用所有扩展,并使用 扩展二分法 实用程序来隔离有问题的扩展行为。

搜索扩展

您可以在“扩展”视图顶部的搜索框中清除内容,并输入要查找的扩展、工具或编程语言的名称。

例如,输入“python”将显示 Python 语言扩展列表。

python extensions

如果您知道要查找的扩展的准确标识符,可以使用 @id: 前缀,例如 @id:vue.volar。此外,要筛选或排序结果,您可以使用下面详细介绍的 筛选排序 命令。

管理扩展

VS Code 使得管理您的扩展变得容易。您可以通过“扩展”视图、**命令面板**(命令具有**扩展:**前缀)或命令行开关来安装、禁用、更新和卸载扩展。

列出已安装的扩展

默认情况下,“扩展”视图将显示您当前已安装的扩展,以及所有推荐给您的扩展。您可以使用**扩展:关注已安装视图**命令(可在**命令面板**(⇧⌘P(Windows、Linux Ctrl+Shift+P))中或**更多操作**(...)下拉菜单 > **视图** > **已安装**中使用)以清除搜索框中的任何文本并显示所有已安装扩展的列表,其中包括已禁用的扩展。

卸载扩展

要卸载扩展,请选择扩展项右侧的**管理**齿轮按钮,然后从下拉菜单中选择**卸载**。这将卸载扩展并提示您重新启动扩展主机(**重新启动扩展**)。

uninstall an extension

禁用扩展

如果您不想永久删除扩展,可以改为通过单击扩展项右侧的齿轮按钮来暂时禁用该扩展。您可以全局禁用扩展或仅针对当前工作区禁用扩展。禁用扩展后,系统将提示您重新启动扩展主机(**重新启动扩展**)。

如果您想快速禁用所有已安装的扩展,**命令面板**和**更多操作**(...)下拉菜单中有一个**禁用所有已安装的扩展**命令。

扩展将保持禁用状态,直到您重新启用它们,适用于所有 VS Code 会话。

启用扩展

类似地,如果您禁用了扩展(它将在列表的**已禁用**部分中显示,并标记为已禁用),您可以使用下拉菜单中的**启用**或**启用(工作区)**命令来重新启用它。

enable extension

**更多操作**(...)下拉菜单中还有一个**启用所有扩展**命令。

扩展自动更新

VS Code 会检查扩展更新并自动安装它们。更新后,系统会提示您重新启动扩展主机(**重新启动扩展**)。

如果您希望手动更新扩展,可以使用**禁用所有扩展的自动更新**命令或“扩展”视图中的相应操作来禁用自动更新。您还可以配置 extensions.autoUpdate 设置。使用**启用所有扩展的自动更新**命令来重新启用自动更新。

Disable auto update for all extensions action

您也可以通过右键单击扩展并切换**自动更新**项来配置各个扩展的自动更新。

如果您不希望 VS Code 甚至检查更新,可以将 extensions.autoCheckUpdates 设置设为 false。

手动更新扩展

如果您禁用了扩展的自动更新,可以使用**显示已过时扩展**命令(使用 @updates 筛选器)来快速查找扩展更新。这将显示您当前已安装扩展的任何可用更新。

选择已过时扩展的**更新**按钮。更新将被安装,并且系统会提示您重新启动扩展主机(**重新启动扩展**)。您还可以使用**更新所有扩展**命令一次更新所有已过时的扩展。

如果您还禁用了自动检查更新,可以使用**检查扩展更新**命令来检查哪些扩展可以更新。

您可以使用**显示推荐扩展**查看推荐扩展列表,这将设置 @recommended 筛选器。扩展推荐可以是

  • 工作区推荐 - 由您当前工作区的其他用户推荐。
  • 其他推荐 - 根据最近打开的文件推荐。

请参阅下面的部分,了解如何 贡献 您项目中其他用户的推荐。

忽略推荐

要取消推荐,请选择扩展项以打开详细信息页面,然后选择**管理**齿轮按钮以显示上下文菜单。选择**忽略推荐**菜单项。您将不再收到被忽略的推荐。

Ignore extension recommendation

配置扩展

VS Code 扩展可能具有非常不同的配置和要求。一些扩展会为 VS Code 贡献 设置,这些设置可以在设置编辑器中修改。其他扩展可能具有自己的配置文件。扩展可能还需要安装和设置其他组件,例如编译器、调试器和命令行工具。请参阅扩展的自述文件(在“扩展”视图详细信息页面中可见)或访问 VS Code 市场 上的扩展页面(单击详细信息页面中的扩展名称)。许多扩展是开源的,并且在其市场页面上提供指向其存储库的链接。

命令行扩展管理

为了更轻松地自动化和配置 VS Code,可以从 命令行 列出、安装和卸载扩展。识别扩展时,请提供 publisher.extension 形式的完整名称,例如 ms-python.python

示例

code --extensions-dir <dir>
    Set the root path for extensions.
code --list-extensions
    List the installed extensions.
code --show-versions
    Show versions of installed extensions, when using --list-extension.
code --install-extension (<extension-id> | <extension-vsix-path>)
    Installs an extension.
code --uninstall-extension (<extension-id> | <extension-vsix-path>)
    Uninstalls an extension.
code --enable-proposed-api (<extension-id>)
    Enables proposed API features for extensions. Can receive one or more extension IDs to enable individually.

您可以在扩展详细信息页面的“市场信息”下看到扩展 ID。

extension identifier

扩展视图过滤器

“扩展”视图搜索框支持筛选器,可帮助您查找和管理扩展。如果您使用过**显示已安装扩展**和**显示推荐扩展**命令,您可能已经看到了 @installed@recommended 等筛选器。此外,还有一些可用的筛选器,允许您按受欢迎程度或评级排序,以及按类别(例如“代码检查器”)和标签(例如“node”)进行搜索。您可以在扩展搜索框中输入 @ 并浏览建议,以查看所有筛选器和排序命令的完整列表。

intellisense on extension search filters

以下是“扩展”视图的一些筛选器

  • @builtin - 显示与 VS Code 捆绑在一起的扩展。按类型分组(编程语言、主题等)。
  • @deprecated - 显示已弃用的扩展。
  • @disabled - 显示已禁用的已安装扩展。
  • @enabled - 显示已启用的已安装扩展。扩展可以单独启用/禁用。
  • @featured - 显示特色扩展。
  • @installed - 显示已安装的扩展。
  • @popular - 显示流行的扩展。
  • @recentlyPublished - 显示最近发布到市场的扩展。
  • @recommended - 显示推荐的扩展。分为工作区特定推荐或一般用途推荐。
  • @updates - 显示已过时的已安装扩展。市场上有一个更新版本。
  • @workspaceUnsupported - 显示不支持此工作区的扩展。
  • @category - 显示属于指定类别的扩展。以下是支持的一些类别。要查看完整列表,请键入 @category 并按照建议列表中的选项操作
    • @category:themes
    • @category:formatters
    • @category:linters
    • @category:snippets

这些筛选器也可以组合使用。例如:使用 @installed @category:themes 查看所有已安装的主题。

如果没有提供筛选器,“扩展”视图将显示当前已安装的和推荐的扩展。

排序

您可以使用 @sort 筛选器对扩展进行排序,该筛选器可以接受以下值

  • installs - 按市场安装次数排序,降序排列。
  • name - 按扩展名称按字母顺序排序。
  • publishedDate - 按扩展发布日期排序。
  • rating - 按市场评级(1-5 星)排序,降序排列。
  • updateDate - 按扩展上次更新名称排序。

sort by install count

类别和标签

扩展可以设置描述其功能的类别标签

extension categories and tags

您可以使用 category:tag: 筛选类别和标签。

支持的类别为:[Azure, Data Science, Debuggers, Education, Extension Packs, Formatters, Keymaps, Language Packs, Linters, Machine Learning, Notebooks, Others, Programming Languages, SCM Providers, Snippets, Testing, Themes, Visualization]。可以通过扩展搜索框中的 IntelliSense 访问它们

categories debuggers

请注意,如果类别名称超过一个词(例如,category:"SCM Providers"),则必须将其括在引号中。

标签可以包含任何字符串,并且不会通过 IntelliSense 提供,因此请查看市场以查找有用的标签。

从 VSIX 安装

您可以手动安装打包在 .vsix 文件中的 VS Code 扩展。使用“扩展”视图命令下拉菜单中的**从 VSIX 安装**命令,或**命令面板**中的**扩展:从 VSIX 安装**命令,指向 .vsix 文件。

您还可以使用 VS Code --install-extension 命令行开关,并提供指向 .vsix 文件的路径来进行安装。

code --install-extension myextension.vsix

您可以在命令行上多次提供 --install-extension 来一次安装多个扩展。

注意:通过 VSIX 安装扩展时,该扩展的 自动更新 默认情况下处于禁用状态。

如果您想了解更多关于打包和发布扩展的信息,请参阅扩展 API 中的 发布扩展 文章。

一套好的扩展可以使使用特定工作区或编程语言更有效率,您通常希望与您的团队或同事分享此列表。您可以使用**扩展:配置推荐扩展(工作区文件夹)**命令为工作区创建一个推荐扩展列表。

在单文件夹工作区中,该命令将在工作区 .vscode 文件夹中创建一个 extensions.json 文件,您可以在其中添加扩展标识符({发布者名称}。{扩展名称})列表。

多根工作区 中,该命令将打开您的 .code-workspace 文件,您可以在其中列出 extensions.recommendations 下的扩展。您仍然可以使用**扩展:配置推荐扩展(工作区文件夹)**命令将扩展推荐添加到多根工作区中的各个文件夹中。

一个示例 extensions.json 可能如下

{
  "recommendations": ["dbaeumer.vscode-eslint", "esbenp.prettier-vscode"]
}

它推荐了一个代码检查器扩展和一个代码格式化程序扩展。

扩展使用发布者标识符和扩展标识符 publisher.extension 进行识别。您可以在扩展的详细信息页面上看到名称。VS Code 将在这些文件中为您提供已安装扩展的自动完成功能。

Extension identifier.

当首次打开工作区时,VS Code 会提示用户安装推荐的扩展。用户还可以使用 **扩展:显示推荐扩展** 命令查看列表。

Show Recommendations

后续步骤

以下是一些您可能感兴趣的主题...

常见问题

扩展安装在哪里?

扩展安装在每个用户扩展文件夹中。根据您的平台,位置在以下文件夹中

  • Windows %USERPROFILE%\.vscode\extensions
  • macOS ~/.vscode/extensions
  • Linux ~/.vscode/extensions

您可以使用 --extensions-dir <dir> 命令行 选项 更改位置。

当我尝试安装任何扩展时,总是出现连接 ETIMEDOUT 错误

如果您机器正在通过代理服务器访问 Internet,您可能会看到此错误。有关详细信息,请参阅设置主题中的 代理服务器支持 部分。

我可以直接从市场下载扩展吗?

一些用户更喜欢从市场下载一次扩展,然后从本地共享多次安装它。当存在连接问题或您的开发团队希望使用固定的一组扩展时,这很有用。

要下载扩展,请导航到 市场 中特定扩展的详细信息页面。在该页面上,在页面右侧的 **资源** 部分有一个 **下载扩展** 链接。

下载后,您可以通过扩展视图命令下拉菜单中的 **从 VSIX 安装** 命令安装扩展。

我可以阻止 VS Code 提供扩展推荐吗?

是的,如果您希望 VS Code 在扩展视图或通过通知中不显示扩展推荐,您可以修改以下设置

  • extensions.showRecommendationsOnlyOnDemand - 设置为 true 以删除 **推荐** 部分。
  • extensions.ignoreRecommendations - 设置为 true 以静默扩展推荐通知。

如果您想查看推荐,**显示推荐扩展** 命令始终可用。

我可以信任市场上的扩展吗?

市场会对发布到市场的每个扩展包运行恶意软件扫描,以确保其安全性。扫描使用多个反病毒引擎,针对每个新扩展和每个扩展更新运行。在扫描完全清除之前,扩展将不会发布到市场以供公众使用。

市场还阻止扩展作者对微软和红帽等官方发布者以及 GitHub Copilot 等流行扩展名称进行名称抢注。

如果恶意扩展被报告并验证,或者在扩展依赖项中发现漏洞

  1. 扩展将从市场中删除。
  2. 扩展将被添加到黑名单中,以便如果它已被安装,它将被 VS Code 自动卸载。

市场还为您提供资源,帮助您对安装的扩展做出明智的决定

  • 评分和评论 - 阅读其他人对扩展的看法。
  • 问答 - 查看现有问题和发布者响应水平。如果您有任何疑虑,也可以与扩展的发布者联系。
  • 问题、仓库和许可证 - 检查发布者是否提供了这些,以及它们是否拥有您期望的支持。
  • 已验证的发布者 - 使用发布者姓名和域旁边的蓝色勾号作为额外的信任信号。它表明发布者已向市场证明了域所有权。它还表明市场已验证域的存在以及发布者在市场上的良好信誉至少六个月。

Verified publisher

如果您确实看到一个看起来可疑的扩展,您可以使用扩展 **更多信息** 部分底部的 **举报滥用** 链接向市场举报该扩展。

VS Code 无法验证扩展签名

Visual Studio 市场在发布扩展时会对其进行签名。VS Code 在您安装扩展时会验证此签名,以检查扩展包的完整性和来源。

当您安装扩展时,您可能会看到以下错误消息:无法安装扩展,因为 Visual Studio Code 无法验证扩展签名

此错误可能是由多种原因引起的,例如不支持的环境甚至(不太可能)包完整性问题。如果您遇到此错误,请在决定安装之前谨慎行事。

建议您联系 Visual Studio 市场团队 报告此问题。确保包含扩展 ID。如果您想禁用扩展签名验证,可以使用 extensions.verifySignature 设置。

我的扩展在连接到远程窗口时无法同步

设置同步 允许您在您的机器之间共享 Visual Studio Code 配置,例如设置、键绑定和已安装的扩展,以便您始终使用自己喜欢的设置工作。

VS Code 不会将您的扩展同步到或从 远程 窗口,例如,当您连接到 SSH、开发容器(devcontainer)或 WSL 时。