Mik*_*all 12 c# visual-studio visual-studio-extensions
我正在尝试为我的Visual Studio编辑器中的某些关键字添加自定义着色,以用于C#代码.我希望能够为任何实现IDisposable不同颜色的类型着色.理想情况下,我想创建一个简单的类/接口列表,这些类/接口源自IDisposable我可以编辑的某种配置.(虽然如果你说有一个方法/插件可以自动找到所有一次性类型并独立着色它们就是圣杯).
我做了大量研究,看起来像"编辑器分类器"扩展可能会做到这一点.然而,我创建了一个仅仅尝试着色"Stream"这个词的颜色,虽然它确实击中了我试图突出显示该单词的代码,但它并没有在编辑器中突出显示.
我在这里将我的VS扩展添加到Github
这看起来真的应该是相当简单的,但我已经在这个问题上找到了许多小巷,但却发现了死胡同.有没有更简单的方法来做到这一点,还是我的扩展被破坏了?
更新
很奇怪.我刚刚再次运行我的扩展程序,虽然它没有突出显示编辑器中的文本,但当您将鼠标悬停在类型/变量上时,它会突出显示弹出文本中"Stream"的所有实例!有没有办法让它适用于编辑器?

根据您是否使用 Jetbrains Resharper,您可以为此编写一个插件。这样,您不仅可以在变量上添加 IDisposable 的视觉通知,而且当且仅当它没有被调用时才可以提供快速修复,这就是我假设您想要捕获的。请注意,我可以想象已经有一个 R# 插件可以实现这一点。我知道我也考虑过这一点,但我懒得为此编写插件。
顺便说一句,请不要误会我的意思 - 如果您还没有使用 r#,那么您应该考虑尝试一下。
除其他外,您将使用此:API-QuickFix
还有一些方法可以定义自定义关键字,如 resharper 所做的那样,由自定义标记给出并对其应用快速修复。
PS:不,我不在 jetbrains 工作。就是这么好:)
更新:
潜在的 VS 扩展修复?
看看这个:MSDN 链接突出显示文本
我尝试打开你的 github 项目但无法打开,所以我想我只需检查 msdn 即可。您似乎从错误的类中派生来满足您的需求?
MSDN 关键字“编辑器 - 扩展编辑器 - 演练:突出显示文本”
我知道 SO 希望在网站上提供代码,但是 msdn 链接不太可能出现问题,并且根据给定的信息,可以很容易地找到内容:)