当用户输入新文字时,更新Roslyn' Document
的正确方法是什么?我应该在每个字符上调用SourceText.WithChanges
然后Document.WithText
,还是有更有效的方式?
不幸的是,限制不是一个答案,请参阅我的问题What's the most efficient way to use Roslyn's CompletionSevice when typing?,其中API暗示SourceText
/ Document
必须是每个字符都是最新的。
答案 0 :(得分:1)
对每个角色执行SourceText.WithChanges可能是最好的选择,假设没有更高效的方法可以像在Visual Studio中那样创建自己的派生类型的SourceText。 (请参阅我对你的另一个问题的回答。)我们已经完成了位的工作,以使效率不会太低。