本文适用于 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 和项目。 下面是相关部分的链接:
扩展菜单和命令
:将自己的项添加到 Visual Studio 菜单和工具栏。 可以使用它们启动新的 Visual Studio 功能或自己的外部帮助程序应用程序。 还可以为菜单项提供自定义快捷方式。
扩展和自定义工具窗口
:扩展现有工具窗口或创建自己的工具窗口。 例如,可以将新属性添加到
“属性
”,也可以创建新的工具窗口来添加更多功能。
编辑器和语言服务扩展
:将自己的自定义项添加到为 Visual Studio 语言提供的 IntelliSense,或创建对新编程语言的支持。 可以创建新的语句完成、建议和新的 QuickInfo 工具提示。 使用灯泡,可以添加重构建议和代码修复来支持新的编程语言。
扩展用户设置和选项
扩展属性和属性窗口
扩展 Visual Studio 的其他部分
Visual Studio 独立 Shell
VSSDK 提供哪些项目模板?
这两种主要类型的扩展是 VSPackage 和 MEF 扩展。 通常,VSPackage 扩展用于使用或扩展命令、工具窗口和项目的扩展。 MEF 扩展用于扩展或自定义 Visual Studio 编辑器。
对于 Visual C# 和 Visual Basic 扩展,VSSDK 提供了一个空的 VSIX 项目模板,可与创建菜单命令、工具窗口和编辑器扩展的新项模板结合使用。 还可以使用此模板打包项目模板、代码片段和其他项目,以便分发给其他用户。
对于 C++,VSPackage 向导提供用于添加菜单命令、工具窗口和自定义编辑器的代码。
独立 Shell 模板用于打包 Visual Studio shell 版本的扩展,你可以将其品牌化并作为自己的分发。 以下文章介绍了如何开始使用每种扩展:
菜单命令:
使用菜单命令创建扩展
工具窗口:
使用工具窗口创建扩展
编辑器扩展:
使用编辑器项模板创建扩展
基本 VSPackage:
使用 VSPackage 创建扩展
VSIX 项目模板:
VSIX 项目模板入门
如何实现我的扩展看起来类似于 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
的产品和扩展。
扩展 Visual Studio for Mac
扩展 Visual Studio Code