参加你附近的 ,了解 VS Code 中的 AI 辅助开发。

扩展市场

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)) 来打开扩展视图。

Extensions view icon

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

popular extensions

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

注意

如果你的计算机需要通过代理服务器访问互联网,你需要配置代理服务器。详情请参阅代理服务器支持

安装扩展

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

重要

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

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

设置同步启用时,你可以在多台设备间共享你的 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 annotationsTODO-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。此外,要筛选或排序结果,你可以使用下面详述的筛选排序命令。

安装预发布版本的扩展

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

Install pre-release version

管理扩展

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 贡献设置,可以在设置编辑器中修改。其他扩展可能有自己的配置文件。扩展还可能需要安装和设置额外的组件,如编译器、调试器和命令行工具。请查阅扩展的 README 文件(在扩展视图详情页面可见)或访问 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>)
    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 这样的筛选器。此外,还有可用的筛选器让你按流行度或评分排序,并按类别(例如“Linters”)和标签(例如“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]。它们可以通过扩展搜索框中的智能感知来访问。

categories debuggers

请注意,如果类别名称包含多个单词,你必须用引号将其括起来(例如,category:"SCM Providers")。

标签可以包含任何字符串,并且不由智能感知提供,因此请查看扩展市场以查找有用的标签。

从 VSIX 安装

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

你也可以使用 VS Code 的 --install-extension 命令行开关并提供 .vsix 文件的路径来安装。

code --install-extension myextension.vsix

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

注意

当你通过 VSIX 安装扩展时,该扩展的自动更新默认是禁用的。

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

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

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

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

一个 extensions.json 的例子可以是:

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

它推荐了一个 linter 扩展和一个代码格式化扩展。

扩展使用其发布者标识符和扩展标识符 publisher.extension 来识别。你可以在扩展的详情页面上看到这个名称。VS Code 会在这些文件中为已安装的扩展提供自动补全功能。

Extension identifier.

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

Show Recommendations

后续步骤

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

常见问题

扩展安装在哪里?

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

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

你可以通过使用 --extensions-dir <dir> 命令行选项启动 VS Code 来更改位置。

或者,你可以将 VSCODE_EXTENSIONS 环境变量设置为你想要安装扩展的位置。这在企业环境中非常有用,当你想集中管理用户机器上扩展的安装位置时。

每当我尝试安装任何扩展时,都会收到一个 connect ETIMEDOUT 错误

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

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

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

要下载扩展,请在扩展视图中搜索它,右键单击结果中的一个扩展,然后选择 下载 VSIX下载特定版本 VSIX

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

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

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

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

Visual Studio 扩展市场采取了多种措施来保护你免受恶意扩展的侵害,你也可以在安装前执行各种步骤来判断一个扩展是否可靠。

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

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

VS Code 无法验证扩展签名

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

重要

安装扩展时,你可能会看到以下错误消息:无法安装扩展,因为 Visual Studio Code 无法验证扩展签名。此错误可能由多种原因引起,如果你遇到此错误,在决定继续安装之前应保持谨慎。可以使用 extensions.verifySignature 设置来禁用扩展签名验证。

包完整性问题

对于包完整性问题,建议你联系 Visual Studio 扩展市场团队 报告问题。请确保包含扩展 ID。以下列表提供了与包完整性问题相关的错误代码:

PackageIntegrityCheckFailed
SignatureIsInvalid
SignatureManifestIsInvalid
SignatureIntegrityCheckFailed
EntryIsMissing
EntryIsTampered
Untrusted
CertificateRevoked
SignatureIsNotValid
SignatureArchiveHasTooManyEntries
NotSigned

其他问题

对于其他问题,如不支持的环境或未知原因,建议你通过提供所有必要信息并包括共享日志,向 VS Code 报告问题⇧⌘P (Windows、Linux Ctrl+Shift+P) > 打开视图... > 共享

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

设置同步让你可以在你的机器之间共享 Visual Studio Code 配置,如设置、键盘快捷键和已安装的扩展,这样你总能使用你喜欢的设置工作。

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

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

你可以通过配置 extensions.allowed 应用程序设置来控制组织中可以安装哪些扩展。如果未配置该设置,则允许所有扩展。如果配置了该设置,所有未列出的扩展都将被阻止安装。

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