0
我開發vs擴展,現在我需要知道文檔被更改或髒了,然後執行一些操作。VisualStudio擴展開發:如何檢測文件更改或如何檢測文件是否髒?
我開發vs擴展,現在我需要知道文檔被更改或髒了,然後執行一些操作。VisualStudio擴展開發:如何檢測文件更改或如何檢測文件是否髒?
特定您提到的事件是ITextDocument.DirtyStateChanged
,但我懷疑這可能不是您實際想要在您的擴展中使用的屬性或算法。
一種方式做到這一點(該文件更改後運行的代碼)是使用BackgroundParser
類。重寫的ReParseImpl
方法將在對文檔進行更改(稱爲「重新分析延遲」,其行爲與Reactive Extensions的方法非常相似)進行一段時間後調用。
確保調用OnParseComplete
在ReParseImpl
方法,就像你在這裏看到:
DiffUpdateBackgroundParser.cs#L106
背景解析器通過構建一個實例,並請求初始解析啓用:
MarginCore.cs#L41-L49
你不能得到對於此事件,您只能檢查Document.Saved屬性。 – 2014-10-27 13:27:17
@HansPassant查看我的回答 – 2014-10-27 14:47:14