文本编辑器中的Visual Studio扩展图标

时间:2013-08-06 09:28:05

标签: c# visual-studio visual-studio-extensions

如何在编辑器中插入带有点击事件或自定义按钮的图标。 我想要创建看起来像R#或CodeRush的控件,然后单击图标打开智能标记。 对不起,我的英语不好。 谢谢。

截图:

我创建智能标签,但在文本或标准重构标记上有标准标记。我想要自定义按钮智能标签。

2 个答案:

答案 0 :(得分:0)

创建智能标记时,可以设置ISmartTagSession.IconSource来设置要显示的图标。

答案 1 :(得分:0)

我创建usercontrol并在编辑器中插入。 旧控制SmartTag删除。 如何在我的usercontol中添加智能标记操作?控件有菜单,但无法添加SmartTagActions。 如何创建我的控件而不是标准?始终创建标准控制。

private bool ButtonSmartTag(ITextView view)
    {
        foreach (ISmartTagSession s in _broke.GetSessions(view))
        {
            var wpfTextView = (IWpfTextView)view;               
            var adornmentLayer = wpfTextView.GetAdornmentLayer("SmartTag");

            foreach (var alement in adornmentLayer.Elements)
            {
                adornmentLayer.RemoveAllAdornments();

                var line = view.GetTextViewLineContainingBufferPosition(_view.Caret.Position.BufferPosition);
                alement.VisualSpan, "butRe", but, null);

                var mb = new ReButtonMenu();
                mb.Margin = new Thickness(0, line.Top, 0, 0);
                adornmentLayer.AddAdornment(AdornmentPositioningBehavior.TextRelative, alement.VisualSpan, "butRe", mb, null);
            }
        }
        return false;
    }