Visual studio 如何编写显示与基础文件不同文本的扩展名?(与参数名称类似)

Visual studio 如何编写显示与基础文件不同文本的扩展名?(与参数名称类似),visual-studio,visual-studio-extensions,vs-extensibility,Visual Studio,Visual Studio Extensions,Vs Extensibility,我想为VisualStudio编写一个扩展,用显式类型替换“var”关键字,但只在视觉上,而不是在代码本身中 在一些MSDN和web研究之后,我尝试使用ITextViewModel的VisualBuffer(投影缓冲区),但它也改变了文件中的代码 举个例子,我试着用另一种方法,用“var”替换“int” 提前感谢:)啊,我自己找到了解决办法。使用IntraTextAdormentTagger做到了:)但它也会更改文件中的代码,所以你不想将var更改为int或什么,你指的是像这样的快速信息吗?是的

我想为VisualStudio编写一个扩展,用显式类型替换“var”关键字,但只在视觉上,而不是在代码本身中

在一些MSDN和web研究之后,我尝试使用ITextViewModel的VisualBuffer(投影缓冲区),但它也改变了文件中的代码

举个例子,我试着用另一种方法,用“var”替换“int”


提前感谢:)

啊,我自己找到了解决办法。使用IntraTextAdormentTagger做到了:)

但它也会更改文件中的代码
,所以你不想将var更改为int或什么,你指的是像这样的快速信息吗?是的,我在一个团队中工作,不想更改喜欢“var”的人的代码。但是,我讨厌它,并且希望在不使用鼠标工具提示的情况下查看显式类型。我知道您希望获得显式类型,但是如果您不想要快速信息格式,您喜欢哪种方式?由于您没有更改代码文件中的var,我不确定您希望以何种方式获取显式类型,将鼠标悬停在上面并获取类型?不,我想的是WPF中的转换器,它可以替换您看到的内容,而不是后面的模型。但是,也许这是不可能的。我知道也有投影缓冲区,但据我所知,它们用于在另一个地方显示文本(如大纲窗口)Hi GeluX,感谢您的分享,请将您的回复标记为答案,这将帮助其他社区成员更轻松地搜索此有用信息,这只是一个提醒:)
[Export(typeof(ITextViewCreationListener))]
[ContentType("text")]
[TextViewRole(PredefinedTextViewRoles.Document)]
internal class TestViewCreationListener : ITextViewCreationListener
{
    private ITextBuffer _buffer;

    public void TextViewCreated(ITextView textView)
    {
        ITextViewModel textVM = textView.TextViewModel;
        _buffer = textVM.VisualBuffer;

        string text = _buffer.CurrentSnapshot.GetText();
        int index = text.IndexOf("int ");
        while (index > 0)
        {
            _buffer.Replace(new Span(index, 3), "var");
            index = text.IndexOf("int ", index + 4);
        }
    }
}