.net – 有没有人在Visual Studio中创建自定义文本标记的示例?

如果我最初的方法是错误的,这就是我想要完成的.我希望能够在我的代码编辑器中识别文本片段(我正在使用C#,但这不重要)并改变它们的格式化方式.也许使用不同的颜色或字体等.我开始认为这就像在某处将正则表达式弹出到配置文件并设置一些默认值一样简单……不是那么多.

到目前为止,我已经确定了两种可行的方法,第一种方法是为Visual Studio创建一个新的语言服务.我不认为这是有道理的,因为我只是在增加默认的C#lex&解析.

第二个是How to: Create Custom Text Markers.这似乎更好,因为如果我正确地阅读它,这将允许我创建自己的规则来识别IDE中的文本部分(正则表达式等)并基于此添加文本标记.然后,这些将在选项中公开 – >环境 – > Visual Studio选项中的字体和颜色区域(类似于ReSharper Overrides,ReSharper DeadCode等).

假设自定义文本标记路由是要走的路,我对其他想法持开放态度,我需要实现IVsPackageDefinedTextMarkerType接口并实现GetTextMarkerType方法.听起来很直接……

然后我需要“提供[我的]标记类型作为服务”,这是我有点迷失的地方.有一个在Visual Studio SDK中创建自定义服务的示例,但我无法弄清楚如何将两者结合在一起.我还有很多关于这个主题的研究,所以我可以回答我自己的问题,但是如果有人可以节省我一些时间,那就太好了!

最佳答案 我相信以下项目使用自定义文本标记.他们可能会给你一些想法:

> http://snippetdesigner.codeplex.com/
> http://clonedetectivevs.codeplex.com

点赞