我試圖在VS2010中爲自定義文件格式創建一些語法高亮。從msdn上的Ook! Language示例廣泛竊取後,我可以突出顯示文件中的關鍵字。我對此感到高興。但是,該示例按行分割了SnapshotSpans。我還想處理多行突出顯示(例如註釋)。Visual Studio傳遞給它的ITagger.GetTags調用了什麼?
通過調用我定義的GetTags方法進行調試後,似乎每個文件都會調用多次該方法,但會傳遞相同的SnapshotSpan集合。而且,由於每個鍵入的字符都會導致另一系列調用,因爲處理傳遞給它的確切信息非常困難。那麼我應該在這個系列中期待什麼?
感謝您的回覆。這很有用。不過,我仍然有些困惑。首先,Ook!中的Tagger類例如帶一個永不被使用的TextBuffer。這是什麼緩衝區?其次,您的博客文章使我看起來好像可以定義跨度。我到底該怎麼做?如果我不這樣做,SpanCollection是否包含整個文件的1個跨度?再次感謝你的幫助。 – ThePurpleMonk 2010-12-02 10:43:50