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