【问题标题】:DocumentSaved event is never raised永远不会引发 DocumentSaved 事件
【发布时间】:2013-05-16 08:27:06
【问题描述】:

我正在尝试编写一个简单的 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方法中的断点被命中,所以问题不存在)

【问题讨论】:

    标签: c# .net visual-studio-extensions envdte vsix


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢,我试试看!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 2016-09-07
    • 2011-11-19
    • 1970-01-01
    • 2020-10-14
    • 2020-12-05
    相关资源
    最近更新 更多