Pergunta

I'm trying to write a simple Visual Studio extension that performs an action when a file is saved:

    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
    }

But apparently the DocumentsSaved event is never raised, so the DocumentEvents_DocumentSaved is not called...

Am I missing something? Isn't this event supposed to be raised every time a file is saved? If not, is there another way I can detect changes to the files in the solution? (I'd rather avoid resorting to a FileSystemWatcher if possible...)

(note: I know that the extension is properly loaded, since a breakpoint in the Initialize method is hit, so the problem is not there)

Foi útil?

Solução

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

You need to keep a strong reference to both the Events and DocumentEvents objects for it to work.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top