VS 2013 SDK:包开发需要定位

VS 2013 SDK: Need orientation for Package development

我需要 Visual Studio 2013 SDK 的完整工作示例,在 C# 或者 VB.Net,来自 MSDN 示例,SatckOverflow 用户或第 3 方来源,说明了如何开发一个简单的包,它将在 代码编辑器 Window 上下文菜单中集成自定义菜单,其中包含行分隔符(组)和分配的热键,遵循良好做法 避免我目前的做法。

我在 MSDN 中研究了数周又数周,却没有发现任何可以帮助我理解如何正确做事的东西,任何官方或第 3 方示例,这让我感到非常沮丧我需要做什么,请全面。

我已经从头到尾阅读了这些资源,但我找不到内部方向或我需要的解释(代码编辑器上下文菜单中的菜单),但是,它帮助我理解了其他内容:


下面是我的实际菜单,但是,根据@Carlos Quintero 的评论,我认为我没有遵循良好做法,因为我正在生成菜单及其所有内容执行时的按钮,如果我理解得很好,我应该从 VSCT 文件中创建所有这些东西,以便能够分配热键并添加行分隔符并查询命令状态:


VS2013 SDK自带了一些工程模板,特别是一个Visual StudioPackage工程模板,它是一个工程向导,自带三个模板,任意一个演示如何做到这一点,但向导的命令菜单模板是我想做的更近似的事情,但它是为了在 Tools 菜单栏下添加一个菜单,这很明显我不假装这样做,我只想在代码编辑器的上下文菜单中添加内容,所以我使用的是一个空模板(它不会生成任何 VSCT 文件)。

commandmenu 包模板创建一个 VSCT 文件,但我不明白如何在我的空包中创建一个满足我需要的文件,或者如何编辑默认创建 Command Menu 包的 VSCT 文件以移动从 Tools 菜单到代码编辑器上下文菜单的命令,我已经测试了几乎所有在 MSDN 中公开的 guid。

此外,完整的 SDK 包缺乏智能感知支持,几乎所有 SDK 成员都没有在 MSDN 中记录(比如 guid,它有名称但没有任何描述)所以要了解如何做正确的事情真的是一场噩梦.真诚地,@Carlos Quintero 写的文章比 MSDN 是一个更好的文档位置,但它也缺少重要的示例,例如如何管理上下文菜单。


如果需要,这是我的包的完整来源:

我被那个解决方案的很多东西困住了,因为我没有使用 VSCT 文件,它应该可以帮助我意识到我被困的所有事情,我需要从头开始创建它,因为说我认为我通过在执行时而不是从 VSCT 文件创建所有控件来遵循错误的做法。

我只需要看一个使用 VSCT 文件的工作示例,它在代码编辑器上下文菜单中创建一个类似的菜单,带有行分隔符(组)和分配的热键,以学习良好。

Visual studio 扩展开发示例:

https://github.com/codecadwallader/codemaid https://github.com/cpmcgrath/codealignment/tree/release/CodeAlignment.VisualStudio

visual studio 还有很多开源扩展,如果您找到它们,请告诉我,我会更新此答案,以便人们可以在 bing 或 [=21] 上找到它们=].