开始在 Visual Studio 中开发扩展

如果你以前从未编写过 Visual Studio 扩展,则可能有一些问题。 我们在此处列出了一些最常见的问题。 如果你未看到要找的信息,请使用此页面右上角的反馈按钮询问所需内容。

注意

本文适用于 Windows 上的 Visual Studio。 有关 Visual Studio Code,请参阅 Visual Studio Code 扩展 API

开发 Visual Studio 扩展需要哪些软件?

为了开发 Visual Studio 扩展,你需要在 Visual Studio 之外安装 Visual Studio SDK。 可以在常规安装过程中安装 Visual Studio SDK,也可以稍后安装。 有关安装 Visual Studio SDK 的详细信息,请参阅安装 Visual Studio SDK

可以使用 Visual Studio 扩展执行哪些类型的操作?

当谈到想象不同的 Visual Studio 扩展时,天空无极限。 当然,大多数扩展都与编写代码有关;但事实并非如此。 下面是可以生成的扩展类型的一些示例:

  • 支持 Visual Studio 中未包含的语言,并提供语法着色、IntelliSense 以及编译器和调试支持。

  • 使用更多模板、代码重构、新对话框或工具窗口扩展核心 IDE 体验的生产力工具。

  • 特定于域的设计器,适用于数据设计或云支持等方案。

有关扩展的示例,请查看 Visual Studio Marketplace。 许多扩展都是开源的,Marketplace 包含指向其 GitHub 存储库的链接。

我可以扩展哪些 Visual Studio 功能?

从理论上讲,你可以扩展 Visual Studio 的几乎任何部分:菜单、工具栏、命令、窗口、解决方案、项目、编辑器等。

在实践中,我们发现大多数人想要扩展的功能是命令、菜单和工具栏、窗口、IntelliSense 和项目。 以下是相关章节的链接:

VSSDK 提供哪些项目模板?

这两种主要类型的扩展是 VSPackages 和 MEF 扩展。 通常,VSPackage 扩展用于使用或扩展命令、工具窗口和项目的扩展。 MEF 扩展可用于扩展或自定义 Visual Studio 编辑器。

对于 Visual C# 和 Visual Basic 扩展,VSSDK 提供了一个空的 VSIX 项目模板,可与创建菜单命令、工具窗口和编辑器扩展的新项模板结合使用。 还可以使用此模板打包项目模板、代码片段和其他工件,以便分发给其他用户。

对于C++,VSPackage 向导提供用于添加菜单命令、工具窗口和自定义编辑器的代码。

以下文章介绍了如何开始使用每种扩展:

如何让我的扩展看起来类似于 Visual Studio?

请参阅 Visual Studio 用户体验指南,获取有关为扩展设计 UI 的出色提示。

在哪里可以找到 VSSDK 代码的示例?

上一节中列出的每个链接都有分步演练,介绍了如何实现特定功能。 还可以在 GitHub 上的 Visual Studio 示例中找到开源 VSSDK 示例。

如何分发扩展?

可以在另一台计算机上安装扩展,也可以将其作为 .vsix 文件发送给好友,双击即可安装。 可以在传送 Visual Studio 扩展中找到有关 VSIX 包的详细信息。

还可以在 Visual Studio Marketplace 上发布你的扩展,使大量 Visual Studio 客户可以看到。 有关将扩展打包到 Marketplace 的示例,请参阅演练:发布 Visual Studio 扩展。 有关在 Marketplace 中发布需要执行的操作的详细信息,请参阅 适用于 Visual Studio 的产品和扩展