[英]Writing Visual Studio 2010 Plugin, would like to show a toolbox like Resharper in code editor
我想为Visual Studio 2010编写一个插件,但事实上我遇到了一些问题。 我想做的事情似乎很简单,我想在代码编辑器中选择文本时会出现一个小工具箱,例如Resharper(带有帮助重构的菜单的小笔)或者像这里:
http://www.axtools.com/products-vs2010-extensions.php?tab=selection-popup
我想知道 :
是否有anu Visual Studio模板有助于启动? 我尝试使用“编辑器视口装饰”,但我不确定。
我应该从启动工具箱开始,还是可以从系统工具箱中显示一些按钮? 在链接的axtools插件中,它是一个定制的工具箱或系统?
如何检测文本被选中?
我现在没有其他问题了。 我是网络开发者,所以编写一个visual studio插件对我来说是个新事物。
提前致谢。
我可以回答这个问题的两个部分:
AdornmentLayerDefinition
(要从项目模板获得的默认值中更改最重要的是Order
属性,以确保你的装饰品显示在任何文字的顶部 )。 UIElement
,但过去它真的取决于你。 从ITextView
(作为示例的一部分实现的IWpfTextViewCreationListener
一部分)(它传递给AgentBadgeVisualManager
),您可以订阅SelectionChanged事件,如下所示:
view.Selection.SelectionChanged += (sender, args) => /* call methods to update your adornment here */;
请注意,当选择为空并且跟随插入符号时,不会触发事件,因此如果要跟踪它,则还需要侦听插入符更改的事件。 但是,如果您只关心a)何时选择非空,或b)当选择在空和非空之间变化时,该事件就足够了。
有关可扩展性的更多一般信息,您可以查看我在github页面上编写的其他扩展,阅读我在博客上如何编写它们,查看VSX示例页面或codeplex上的编辑器示例页面 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.