The*_*onk 4 .net mef syntax-highlighting visual-studio-2010
我正在尝试在VS2010中为自定义文件格式创建一些语法突出显示.从Ook偷走后!msdn上的语言示例,我可以突出显示文件中的关键字.我很高兴.但是,该示例按行拆分SnapshotSpans.我也想处理多行突出显示(例如评论).
通过对我定义的GetTags方法的调用进行调试后,似乎每个文件多次调用该方法,但会传递相同的SnapshotSpan集合.而且,由于键入的每个字符都会导致另一系列调用,因此很难处理传递给它的确切内容.那么我应该在那个系列中期待什么呢?
由于任何东西都可以使用你的标记器,因此没有关于可以传递给什么的定义规范GetTags.如果您想处理多行信息,那么您的组件必须自行解析,通常是为了响应文本更改,如果成本高,则在后台线程上.
在大多数情况下,如果消费者是一个消费者IWpfTextView,您可以预期该集合一次只能是一行.如果单行文本更改(如键入)会影响多行,则标记符应该TagsChanged覆盖需要更新的区域.
在我写的关于VS编辑器基础知识的博客文章中有一点描述了一般模型.要点是,标记信息的消费者会询问他们关心的内容,并订阅来自标记器的更改事件,以确保他们收集的任何信息都是最新的.
| 归档时间: |
|
| 查看次数: |
776 次 |
| 最近记录: |