这些资源可帮助你更好地导航 Visual Studio 扩展性的世界。
以下视频介绍了适用于 Visual Studio 扩展作者的有用资源。
资源
下面是一些有用的资源,可以帮助你在扩展旅程中。
- GitHub 上的 VSIX 社区
- VSIX 社区示例存储库
- 官方 VSSDK 文档
- VSSDK 示例存储库
- Gitter.im 上的扩展性聊天室
了解如何搜索帮助
编写扩展有点利基活动,因此在线搜索帮助并不总是返回相关结果。 但是,我们可以通过多种方式优化搜索词以生成更好的结果。
- 使用精确的接口和类名作为搜索词的一部分。
- 尝试 VSIX、VSSDK 或 Visual Studio 添加到搜索词。
- 尽可能直接在 GitHub 上搜索,而不是 Google/必应。
- 向 Gitter.im 聊天室上的其他扩展器提问。
使用开源作为学习工具
对于扩展执行的操作及其工作方式,你可能有自己的想法。 但是应使用哪些 API 以及如何正确连接 API? 这些问题很难,很多人因为得不到答案而放弃。
一种好方法是在市场中查找执行类似操作的扩展,或使用与要执行的操作类似的元素。 然后找到这些扩展的源代码,查看它们的操作及所用的 API,然后以此为基础继续操作。
书籍
若要开始学习 Visual Studio 扩展性模型,请考虑 Rishabh Verma 的《Visual Studio 扩展性开发》 一书。
这是最好的书可供学习。
词汇表
为了更好地了解此社区工具包并能够在线搜索帮助,具有扩展性术语的共享词汇至关重要。 下面是一个字母顺序的概念和字词列表,这些概念和字词对于扩展程序而言非常重要。
DTE
EnvDTE 是一个程序集包装的 COM 库,其中包含 Visual Studio 核心自动化的对象和成员。 或者,一个易于使用的界面,用于与 Visual Studio 交互。
市场
Visual Studio Marketplace 是供扩展开发者用来向全球分享其扩展程序的公共扩展商店。 它由Microsoft拥有和维护,是唯一的官方扩展市场。
MEF
托管扩展性框架由 Visual Studio 中的多个组件使用,主要是编辑器。 这是一种不同于包的扩展点注册方式。
Package
有时称为包类。 Visual Studio 调用其 InitializeAsync(...)
方法来初始化扩展。 从此处可以添加事件侦听器并注册命令、工具窗口、设置和其他内容。 在编译期间,Package 类 的属性用于生成自动添加到扩展名的 .pkgdef 文件。
.pkgdef
这是一个包,其中包含要添加到 Visual Studio 的专用注册表中的键和值。 可以从 Package 类自动生成此文件,也可以手动创建 .pkgdef 文件,并将其作为 .vsixmanifest 文件中的 <Asset>
包含在其中。
VSCT
Visual Studio 命令表文件。 这是声明菜单、命令和键绑定的位置。
VSIX
指 Visual Studio 扩展 (.vsix) 的文件扩展名,同时指代整个 Visual Studio 扩展性。
VSSDK
Visual Studio SDK 是 Visual Studio 扩展性 API 的缩写,它由构成公共接口的类、服务和组件组成。 它通常在引用 Microsoft.VisualStudio.SDK NuGet 包时使用。
在 Visual Studio SDK 术语表中查找详细信息。