Visual Studio扩展开发:如何检测文件被更改或如何检测文件是否脏?

时间:2014-10-27 13:07:28

标签: .net visual-studio visual-studio-extensions

我开发vs扩展,现在我需要知道文档被更改或是脏的,然后执行一些操作。

1 个答案:

答案 0 :(得分:0)

您提到的特定事件是ITextDocument.DirtyStateChanged,但我怀疑这可能不是您实际想要在扩展程序中使用的属性或算法。


执行此操作的一种方法(在文档更改后运行代码)正在使用BackgroundParser类。在对文档进行更改(称为“重新分析延迟”,行为与“活动扩展”ReParseImpl方法非常相似)后,将在一段时间后调用被覆盖的Throttle方法。

请务必在OnParseComplete方法中致电ReParseImpl,就像您在此处看到的一样:
DiffUpdateBackgroundParser.cs#L106

通过构造实例并请求初始解析来启用后台解析器:
MarginCore.cs#L41-L49