我想为Visual Studio 2010写一个插件,但实际上我遇到了一些问题。我想做的事情似乎很简单,我希望在代码编辑器中选择文本时会出现一个小工具箱,例如Resharper(带有帮助重构菜单的小笔)或如下所示:
http://www.axtools.com/products-vs2010-extensions.php?tab=selection-popup
我想知道 :
目前,我没有其他问题了。我是Web开发人员,所以编写Visual Studio插件对我来说是新事物。
提前致谢。
最佳答案
我可以回答这个问题的两个部分:
AdornmentLayerDefinition
(最重要的更改是Order
属性,以确保您的装饰物是项目模板的默认设置,与项目模板的默认设置相比显示在任何文本的顶部)。 UIElement
,但是过去确实取决于您。ITextView
中,您将作为示例的一部分实现IWpfTextViewCreationListener
(将其传递给AgentBadgeVisualManager
),您可以订阅SelectionChanged事件,如下所示:view.Selection.SelectionChanged += (sender, args) => /* call methods to update your adornment here */;
请注意,该事件将不会被当选择为空,并围绕如下插入符号,因此,如果你想跟踪被炒了,你还需要听插入记号改变事件。不过,如果你只关心一)当选择非空,或b)当选择空非空之间的变化,这种情况下就足够了。
有关可扩展性的更多常规信息,您可以查看我在github page上编写的其他扩展,阅读有关如何编写on my blog的信息,查看VSX samples page或editor samples page on codeplex。
关于c# - 编写Visual Studio 2010插件,想在代码编辑器中显示像Resharper这样的工具箱,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2213103/