开始在 Visual Studio 中开发扩展

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

注意

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

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

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

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

天空是想象不同的 Visual Studio 扩展时的限制。 当然,大多数扩展与编写代码有关,但这不必是这样。 下面是可以生成的扩展类型的一些示例:

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

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

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

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

可以扩展哪些 Visual Studio 功能?

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

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

VSSDK 提供哪些项目模板?

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

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

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

独立 Shell 模板用于打包 Visual Studio shell 版本的扩展,你可以将其品牌化并作为自己的分发。 以下文章介绍了如何开始使用每种扩展:

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

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

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

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

如何分发扩展?

可以在另一台计算机上安装扩展,或者将其作为 .vsix 文件发送给好友,通过双击它进行安装。 可以在 Shipping Visual Studio Extensions 中找到有关 VSIX 包的详细信息。

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