gpt4 book ai didi

.net - Visual Studio 将什么传递给 ITagger.GetTags 调用?

转载 作者:行者123 更新时间:2023-12-02 20:20:32 26 4
gpt4 key购买 nike

我正在尝试在 VS2010 中为自定义文件格式创建一些语法突出显示。在广泛窃取Ook! Language之后msdn 上的示例,我能够突出显示文件中的关键字。我对此很满意。但是,该示例按行分割 SnapshotSpan。我还想处理多行突出显示(例如注释)。

通过对我定义的 GetTags 方法的调用进行调试后,似乎每个文件都会多次调用该方法,但会传递相同的 SnapshotSpan 集合。而且,由于输入的每个字符都会引起另一系列的调用,因此很难处理到底传递给它的内容。那么我应该在该系列中期待什么?

最佳答案

由于任何东西都可以消耗您的标注器,因此对于可以传递给 GetTags 的内容没有明确的规范。如果您想处理多行信息,那么您的组件必须自行解析这些信息,通常是为了响应文本更改,如果成本高昂,则需要在后台线程上解析。

在大多数情况下,当使用者是 IWpfTextView 时,您可以预期该集合一次只是一行。如果单行文本更改(例如键入)会影响多行,则标记器应在需要更新的区域上引发 TagsChanged

一般模型在blog article I wrote about VS editor fundamentals中有一些描述。 。要点是,标记信息的消费者会询问他们关心什么,并订阅来自标记者的更改事件,以确保他们收集的任何信息都是最新的。

关于.net - Visual Studio 将什么传递给 ITagger.GetTags 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4302809/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com