我想制作一个visual studio的插件,它能够在每次有人编辑资源文件时按字母顺序对资源文件进行排序。我不是在寻找解决方案,但我之前从未使用过Visual Studio sdk。我很简单想知道是否有任何有Visual Studio sdk经验的人可能知道这是否可能?此外,任何有关如何开始制作插件的建议都表示赞赏。
答案 0 :(得分:2)
如果您从未使用过visual studio的可扩展性,我推荐您这个页面: Make a solution notebook tool window
有一些关于如何与visual studio交互以保存sln和suo文件中的数据的有用信息,您还可以找到有关某些属性的信息,您可以使用这些属性告诉Visual studio您的包(或插件)需要做什么。 这是一般知识,但与你想做的事情没有直接关系。
this link是关于如何倾听视觉工作室火灾的一些特定事件,它向您展示了在插件中创建侦听器的一般方法
this one实际上是关于你需要做什么的(它告诉你如何在visual studio保存文件之前捕获事件)
并且最重要的一个:the source code用于为visual studio创建自定义源代码控件,在那里我找到了理解visual studio可扩展性所需的大部分信息
通过所有这些链接你应该得到一些东西,当然你有official msdn documentation关于扩展visual studio
您需要做的是创建一个插件,该插件将侦听项目即将保存在visual studio中时触发的事件。我不认为resx文件有特定的事件,所以你可能要测试保存了哪个文件,但这应该是全部。 获得该项目后,您可以找到物理文件并对其进行排序。
另一件事,我发现在DTE对象中声明的事件并不真正起作用(至少对我来说它没有),这就是为什么我建议你实现监听器模式来捕获你需要的事件。
希望这有帮助
答案 1 :(得分:1)
我实际上做过exactly that。
您可以在GitHub中找到扩展程序的源代码。它向您展示了如何从解决方案资源管理器获取文件的句柄,添加上下文菜单操作,写入输出菜单等。