扩展市场

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

浏览扩展

你可以在 VS Code 里浏览和安装扩展。通过点击VS Code侧面活动栏中的扩展图标或使用视图:扩展命令(⇧⌘X(Windows,Linux Ctrl+Shift+X)来调出扩展视图。

扩展视图图标

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

流行扩展

列表中的每个扩展都包含简短介绍、发行商、下载数量和五星好评。你可以选择扩展项,显示扩展详情页面,了解更多信息。

注释

如果你的电脑的互联网访问是通过代理服务器进行的,你需要配置代理服务器。详情请参见代理服务器支持

安装扩展

要安装扩展,请选择安装按钮。安装完成后,安装按钮会切换到管理齿轮按钮。

重要

扩展和VS Code本身拥有相同的权限。从VS Code 1.97版本开始,当你首次安装第三方发布者的扩展时,VS Code会显示一个对话框,提示你确认是否信任该扩展发布者。获取更多关于扩展运行时安全及如何保护自己免受恶意扩展的信息。

如果你想安装某个扩展的特定版本,右键点击扩展并选择“安装另一个版本”。然后你可以从可用列表中选择一个版本。

启用设置同步后,你可以在各台机器共享你的VS Code配置,比如扩展。要安装扩展但不在各台机器间同步,右键点击扩展并选择安装(不同步)。

找到并安装扩展

例如,我们安装流行的TODO Highlight扩展。这个扩展会在源代码中高亮“TODO:”和“FIXME:”这样的文本,方便你快速找到尚未完成的部分。

TODO 高亮扩展在编辑器中的高亮

在扩展视图(⇧⌘X(Windows,Linux Ctrl+Shift+X)中,在搜索框输入“todo”,将市场产品筛选到标题或元数据中带有“todo”的扩展。你应该能在列表中看到TODO Highlight扩展。

在扩展视图中搜索todo。

扩展号通过其发布者和扩展ID唯一标识。如果你选择TODO Highlight扩展,你会看到扩展详情页面,在那里你可以找到扩展ID,在这里,wayou.vscode-todo-highlight.如果有多个名称相似的分机,知道分机ID会很有帮助。

待办事项 高亮分机详情并高亮分机ID

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

管理齿轮按钮

要查看TODO Highlight扩展的运行,打开任意源代码文件并添加“TODO:”文本,你会看到该文本被高亮显示。

TODO 高亮扩展贡献了命令,包括 TODO-Highlight: List highlighted 注释和 TODO-Highlight: Toggle highlight,这些命令可以在命令面板(Windows,Linux 的 ⇧⌘P Ctrl+Shift+P中找到)。TODO-Highlight: Toggle highlight 命令可以让你快速禁用或启用高亮功能。

TODO 在命令面板中高亮命令

该扩展还提供了调节其行为的设置,你可以在设置编辑器(⌘,(Windows, Linux Ctrl+,中找到)。例如,你可能希望文本搜索不区分大小写,并且可以取消勾选Todohighlight:大小写是否敏感设置。

TODO 在设置编辑器中高亮设置

如果某个扩展没有提供你想要的功能,你总可以通过管理按钮的右键菜单卸载该扩展。

卸载TODO Highlight扩展

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

延伸详情

在扩展详情页面,你可以阅读扩展的README并查看扩展内容:

  • 功能贡献——扩展对 VS Code 的新增功能,如设置、命令和快捷键、语言语法、调试器等。
  • Changelog - 扩展仓库 CHANGELOG(如果有)。
  • 依赖关系——列出扩展是否依赖于其他扩展。

扩展贡献

如果扩展是扩展包,扩展部分会显示安装包时将安装哪些扩展。扩展包将独立的扩展捆绑在一起,方便一次性安装。

Azure Tools extension pack

扩展视图过滤器和命令

你可以用筛选扩展的右键菜单筛选扩展视图。

扩展 查看筛选器 右键菜单

有筛选条件显示:

  • 可更新的过时扩展列表
  • 当前启用/禁用扩展列表
  • 根据你的工作空间推荐扩展列表
  • 全球流行的扩展列表

你可以按安装数量评分名称发布日期更新日期,按升序或降序排序扩展列表。你可以在下面了解更多关于扩展号搜索筛选的信息。

你可以通过以下内容运行额外的扩展视图命令... 查看和更多作按钮。

更多按钮

通过这个上下文菜单,你可以控制扩展更新,启用或禁用所有扩展,并使用扩展 Bisect 工具来隔离有问题的扩展行为。

寻找扩展

你可以在扩展视图顶部清除搜索框,输入你要找的扩展、工具或编程语言名称。

例如,输入“python”会弹出一份Python语言扩展列表:

Python 扩展

如果你知道想要的扩展名的确切标识符,可以使用@id:例如,前缀@id:vue.volar.此外,要筛选或排序结果,你可以使用下面详细说明的筛选排序命令。

安装预发布的扩展版本

扩展发布商可能会提供扩展的预发布版本。要安装预发布版本,请在安装按钮中选择下拉菜单,然后选择安装预发布版本

安装预发布版本

管理扩展

VS Code 让你管理扩展变得简单。你可以通过扩展视图、命令面板(命令带有扩展:前缀)或命令行交换机安装、禁用、更新和卸载扩展。

列表已安装的扩展

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

卸载扩展

要卸载扩展,请在扩展条目右侧选择“管理齿轮”按钮,然后从下拉菜单中选择卸载。这会卸载扩展,并提示你重启扩展主机(重启扩展)。

卸载扩展

禁用扩展

如果你不想永久移除扩展,可以通过点击扩展条目右侧的齿轮按钮暂时禁用扩展。你可以全局禁用扩展,或者只针对当前工作区禁用。禁用扩展后,系统会提示你重启扩展主机(重启扩展)。

如果你想快速禁用所有已安装的扩展,可以在命令面板更多作中有一个“禁用所有已安装扩展”的命令 (...) 下拉菜单。

所有VS Code会话的扩展都保持禁用,直到你重新启用它们。

启用扩展

同样,如果你禁用了某个扩展(它会在列表中的禁用部分并标记为禁用),你可以在下拉菜单中使用启用启用(工作区)命令重新启用它。

启用扩展

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

扩展自动更新

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

如果你更想手动更新扩展,可以用“禁用所有扩展自动更新”命令或在扩展视图中相应作禁用自动更新。你也可以配置

extensions.autoUpdate
  • 在VS代码中打开
  • 在VS Code Insiders中开放
环境。使用“启用所有扩展自动更新”命令重新启用自动更新。

禁用所有扩展作的自动更新

你也可以通过右键点击某个扩展并切换自动更新项来配置单独扩展的自动更新

如果你不想让 VS Code 检查更新,可以设置

extensions.autoCheckUpdates
  • 在VS代码中打开
  • 在VS Code Insiders中开放
设置为 false。

手动更新扩展

如果你关闭了扩展自动更新,可以通过使用 Show Outdated Extensions 命令快速查找扩展更新@updates过滤。它会显示你当前安装扩展的任何可用更新。

选择更新按钮以获取过时扩展名。更新会被安装,然后系统会提示你重启扩展主机(重启扩展)。你也可以用“更新所有扩展”命令一次性更新所有过时的扩展。

如果你也关闭了自动检查更新,可以使用“检查扩展更新”命令来检查哪些扩展可以更新。

你可以用“显示推荐扩展”查看推荐扩展列表,该扩展设置了@recommended 过滤。延期建议可以是:

  • Workspace 推荐——由你当前工作区的其他用户推荐。
  • 其他推荐——基于最近打开的文件推荐。

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

忽视推荐

要拒绝推荐,请选择扩展项打开详情页面,然后选择管理齿轮按钮以显示上下文菜单。选择“忽略推荐”菜单项。被忽视的推荐将不再推荐给您。

忽略扩展推荐

配置扩展

VS Code 扩展可能有非常不同的配置和需求。一些扩展会为 VS Code 贡献设置,这些设置可以在设置编辑器中进行修改。其他扩展可能有自己的配置文件。扩展还可能需要安装和设置编译器、调试器和命令行工具等额外组件。请查阅扩展的 README(可在扩展详情页面查看),或访问 VS Code 市场的扩展页面(点击详情页中的扩展名称)。许多扩展都是开源的,并且在他们的市场页面上有指向其仓库的链接。

命令行扩展管理

为了简化自动化和配置 VS Code,可以从命令行列出、安装和卸载扩展。识别分机时,请提供表单的全名出版商.扩展例如,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>)
    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。

扩展标识符

扩展视图过滤器

扩展视图搜索框支持筛选,帮助您查找和管理扩展。你可能见过以下过滤器@installed以及@recommended如果你用了“显示已安装扩展”“显示推荐扩展”这两个命令。此外,还有筛选功能,可以按人气或评分排序,并按类别(例如“Linters”)和标签(例如“节点”)搜索。您可以通过在扩展搜索框中输入并浏览建议,查看所有筛选条件和排序命令的完整列表:@

IntelliSense 在扩展搜索过滤器上的应用

以下是一些扩展视图筛选器:

  • @builtin- 显示包含 VS Code 的扩展。按类型(编程语言、主题等)分组。
  • @deprecated- 显示已淘汰的扩展。
  • @disabled- 显示已禁用的已安装扩展。
  • @enabled- 显示已安装的扩展。扩展可以单独启用或禁用。
  • @featured- 展示特色扩展。
  • @installed- 显示已安装的扩展。
  • @popular- 展示热门分机。
  • @recentlyPublished- 展示最近在市场发布的扩展。
  • @recommended- 显示推荐的扩展。按工作区专用或一般用途分类。
  • @updates- 显示已安装的过时扩展。市场上有更新版本。
  • @workspaceUnsupported- 显示不支持该工作区的扩展。
  • @category- 显示属于指定类别的扩展。以下是一些支持的类别。完整列表请输入@category并按照建议列表中的选项作:
    • @category:主题
    • @category:formatters
    • @category:林特斯
    • @category:片段

这些滤镜也可以组合使用。例如:用途@installed @category:主题查看所有安装的主题。

如果没有提供过滤器,扩展视图会显示当前安装和推荐的扩展。

分院

你可以用@sort滤波器,可以取以下数值:

  • 安装- 按市场安装数量排序,按降序排列。
  • 名称- 按扩展名字母顺序排序。
  • 出版日期- 按扩展发布日期排序。
  • 分级- 按市场评分排序(1-5星),按降序排列。
  • 更新日期- 按扩展名、最后更新名称排序。

按安装数量排序

分类与标签

扩展可以设置描述其特征的类别Tab

扩展类别与标签

你可以用以下方式筛选类别和标签类别:以及标签:.

支持的类别包括:[Azure、数据科学、调试器、教育、扩展包、Formatters、键映射、语言包、打印软件、机器学习、笔记本、其他、编程语言、SCM提供者、摘要、测试、主题、可视化].可以通过 IntelliSense 的扩展搜索框访问:

分类 调试器

注意,如果类别名称包含多个词,必须用引号环绕(例如,分类:“供应链管理提供商”).

标签可能包含任意字符串,且IntelliSense不提供,请查看市场以寻找有用的标签。

从VSIX安装

你可以手动安装一个包含在.vsix档案。在扩展视图命令下拉菜单中使用“从VSIX安装”命令,或在命令面板中的“从VSIX安装扩展”命令,指向.vsix档案。

你也可以用VS代码安装--安装扩展命令行交换机提供通往.vsix档案。

code --install-extension myextension.vsix

你可以提供--安装扩展多次命令行安装多个扩展。

注释

通过VSIX安装扩展时,默认会禁用该扩展的自动更新

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

一套好的扩展可以让使用特定工作区或编程语言更高效,你通常会想把这份清单分享给你的团队或同事。您可以使用“扩展:配置推荐扩展(Workspace Folder)”命令创建工作区推荐扩展列表。

在单个文件夹工作区中,命令创建extensions.json位于工作区中的文件.vscode你可以添加扩展名标识符列表的文件夹({publisherName}.{扩展名})。

多根工作区中,命令会打开你的.code-workspace你可以在下面列出扩展名的文件扩展。推荐.你仍然可以通过使用“扩展:配置推荐扩展(工作区文件夹)”命令,在多根工作区中的各个文件夹中添加扩展推荐。

一个例子extensions.json可能是:

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

推荐使用linter扩展和code formatter扩展。

扩展通过其发布者标识符和扩展标识符来识别出版商.扩展.你可以在扩展的详细信息页面看到这个名字。VS Code 会为这些文件中安装的扩展提供自动补全功能。

分机标识符.

VS Code 在首次打开工作区时会提示用户安装推荐的扩展。用户也可以使用“扩展:显示推荐扩展”命令来查看列表。

节目推荐

下一步

这里有几个你可能会感兴趣的话题......

常见问题

扩展安装在哪里?

扩展安装在每个用户的扩展文件夹中。根据你的平台,地点在以下文件夹中:

  • 窗户 %USERPROFILE%\.vscode\extensions
  • macOS ~/.vscode/extensions
  • Linux ~/.vscode/extensions

你可以通过启动 VS Code 来更改位置,并使用--分机-主任<主任>命令行选项

或者,你可以设置VSCODE_EXTENSIONSenvironment 变量指向你想安装扩展的某个位置。这在企业环境中非常有用,因为你希望集中管理用户机器上扩展的安装位置。

每次尝试安装任何扩展,都会出现连接 ETIMEDOUT 错误

如果你的机器通过代理服务器访问互联网,可能会遇到这个错误。详情请参见设置主题中的代理服务器支持部分。

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

有些用户喜欢先从市场下载一次扩展,然后从本地共享中安装到多个 VS Code 实例中。当连接性问题或开发团队想使用固定扩展时,这非常有用。

要下载扩展,请在扩展视图中搜索,右键点击结果中的扩展,选择下载VSIX下载特定版本VSIX。

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

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

  • extensions.showRecommendationsOnlyOnDemand(推荐)仅点播
    • 在VS代码中打开
    • 在VS Code Insiders中开放
    - 设置为 true,以移除推荐部分。
  • extensions.ignoreRecommendations
    • 在VS代码中打开
    • 在VS Code Insiders中开放
    - 将真值设为静音,扩展推荐通知。

如果你想查看推荐扩展,“显示推荐扩展”命令随时可用。

我能信任市场的扩展吗?

Visual Studio Marketplace 采用多种措施保护你免受恶意扩展的侵害,你也可以在安装扩展前采取多种步骤来判断其可靠性。

从VS Code 1.97版本开始,当你首次安装第三方发布者的扩展时,VS Code会显示一个对话框,提示你确认是否信任该扩展发布者。

获取更多关于扩展运行时安全性的信息。

我可以在组织内部托管扩展吗?

是的,请查看私人扩展市场

扩展签名无法通过 VS Code 验证

Visual Studio Marketplace 在所有扩展发布时都会签署。VS Code 在安装扩展时会验证该签名,以检查扩展包的完整性和来源。

重要

安装扩展后,你可能会看到以下错误信息:无法安装扩展,因为 Visual Studio Code 无法验证扩展签名.该错误可能由多种原因引起,若遇到此错误,请务必谨慎,决定安装前保持谨慎。禁用扩展签名验证,使用

扩展。验证签名
  • 在VS代码中打开
  • 在VS Code Insiders中开放
环境。

包完整性问题

对于包完整性问题,建议你联系Visual Studio Marketplace团队报告问题。一定要附上分机ID。以下列表提供了与包完整性问题相关的错误代码:

PackageIntegrityCheckFailed
SignatureIsInvalid
SignatureManifestIsInvalid
SignatureIntegrityCheckFailed
EntryIsMissing
EntryIsTampered
Untrusted
CertificateRevoked
SignatureIsNotValid
SignatureArchiveHasTooManyEntries
NotSigned

其他问题

对于其他问题,比如不支持的环境或未知原因,建议你通过提供所有必要信息并包含共享日志来报告VS Code的问题:⇧⌘P(Windows,Linux Ctrl+Shift+P>Open View......>共享

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

设置同步允许你在各台机器之间共享Visual Studio Code的配置,比如设置、键盘快捷键和已安装的扩展,这样你就能随时使用你最喜欢的配置。

VS Code 不会同步你的扩展到或同步来自远程窗口,比如连接 SSH、开发容器(devcontainer)或 WSL 时。

我可以在我的组织中允许或阻止特定的扩展吗?

你可以通过配置扩展。允许应用设置。如果设置未配置,所有扩展都是允许的。如果设置已配置,所有未列出的扩展都会被阻止安装。

获取更多关于配置允许扩展的详细信息。