永远不会引发DocumentSaved事件

本文关键字:DocumentSaved 事件 永远 | 更新日期: 2023-09-27 18:13:45

我正在尝试编写一个简单的Visual Studio扩展,在保存文件时执行操作:

    protected override void Initialize()
    {
        base.Initialize();
        var dte = (DTE)GetService(typeof(DTE));
        dte.Events.DocumentEvents.DocumentSaved += DocumentEvents_DocumentSaved;
    }
    void DocumentEvents_DocumentSaved(Document doc)
    {
        // Do something
    }

但显然DocumentsSaved事件从未引发,因此DocumentEvents_DocumentSaved没有被调用…

我错过了什么吗?这个事件不是应该在每次保存文件时引发吗?如果没有,是否有其他方法可以检测解决方案中文件的更改?(如果可能的话,我宁愿避免使用FileSystemWatcher…)

(注意:我知道扩展是正确加载的,因为Initialize方法中的一个断点被击中,所以问题不存在)

永远不会引发DocumentSaved事件

按此:http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/0857a868-e650-42ed-b9cc-2975dc46e994

您需要同时保持对Events和DocumentEvents对象的强引用才能使其工作