开始在 Visual Studio 中开发扩展
如果以前从未编写过 Visual Studio 扩展,则可能有一些问题。 我们在此处列出了一些最常见的。 如果未看到要查找的信息,请使用此页面右上角的反馈按钮询问所需内容。
注意
本文适用于 Windows 上的 Visual Studio。 有关 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 和项目。 下面是相关部分的链接:
扩展菜单和命令:将自己的项添加到 Visual Studio 菜单和工具栏。 可以使用它们启动新的 Visual Studio 功能或自己的外部帮助程序应用程序。 还可以为菜单项提供自定义快捷方式。
扩展和自定义工具 Windows:扩展现有工具窗口或创建自己的工具窗口。 例如,可以将新属性添加到 属性,也可以创建新的工具窗口来添加更多功能。
编辑器和语言服务扩展:将自己的自定义项添加到为 Visual Studio 语言提供的 IntelliSense,或创建对新编程语言的支持。 可以创建新的语句补全、建议及新的 QuickInfo 工具提示。 使用灯泡,可以添加重构建议和代码修复来支持新的编程语言。
VSSDK 提供哪些项目模板?
这两种主要类型的扩展是 VSPackage 和 MEF 扩展。 通常,VSPackage 扩展用于使用或扩展命令、工具窗口和项目的扩展。 MEF 扩展用于扩展或自定义 Visual Studio 编辑器。
对于 Visual C# 和 Visual Basic 扩展,VSSDK 提供了一个空的 VSIX 项目模板,可与创建菜单命令、工具窗口和编辑器扩展的新项模板结合使用。 还可以使用此模板打包项目模板、代码片段和其他项目,以便分发给其他用户。
对于C++,VSPackage 向导提供用于添加菜单命令、工具窗口和自定义编辑器的代码。
以下文章介绍了如何开始使用每种扩展:
菜单命令:使用菜单命令创建扩展
工具窗口:使用工具窗口创建扩展
编辑器扩展:使用编辑器项目模板创建扩展
基础 VSPackage:使用 VSPackage 创建扩展
VSIX 项目模板:VSIX 项目模板入门
如何使扩展看起来像 Visual Studio?
在 Visual Studio 用户体验指南中获取有关为扩展设计 UI 的出色提示。
在哪里可以找到 VSSDK 代码的示例?
上一部分列出的每个链接都有分步演练,演示如何实现特定功能。 还可以在 GitHub 上 Visual Studio 示例找到开源 VSSDK 示例。
如何分发扩展?
可以在另一台计算机上安装扩展,也可以将其作为 .vsix 文件发送给好友,通过双击该文件进行安装。 可以在提供 Visual Studio 扩展中找到更多有关 VSIX 包的信息。
还可以在 Visual Studio Marketplace 上发布扩展,使它对大量 Visual Studio 客户可见。 有关将扩展打包到市场的示例,请参阅 演练:发布 Visual Studio 扩展。 有关您在 Marketplace 发布所需操作的详细信息,请参阅适用于 Visual Studio 的产品和扩展。