Tom*_*uλa 10 c# wpf plugins mef visual-studio-2010-beta-2
我想为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 上的编辑器示例页面。