Condividi tramite


Procedura dettagliata: Accedere all'oggetto DTE da un'estensione dell'editor

In VSPackages è possibile ottenere l'oggetto DTE chiamando il GetService metodo con il tipo dell'oggetto DTE. Nelle estensioni MEF (Managed Extensibility Framework) è possibile importare SVsServiceProvider e quindi chiamare il GetService metodo con un tipo di DTE.

Prerequisiti

Per seguire questa procedura dettagliata, è necessario installare Visual Studio SDK. Per altre informazioni, vedere Visual Studio SDK.

Ottenere l'oggetto DTE

  1. Creare un progetto VSIX C# e denominarlo DTETest. Aggiungere un modello di elemento classificatore dell'editor e denominarlo DTETest.

    Per altre informazioni, vedere Creare un'estensione con un modello di elemento dell'editor.

  2. Aggiungere i riferimenti all'assembly seguenti al progetto:

    • Microsoft.VisualStudio.Shell.Framework
    • Microsoft.VisualStudio.Shell.Immutable.10.0
  3. Nel file DTETestProvider.cs aggiungere le direttive seguentiusing:

    using EnvDTE;
    using Microsoft.VisualStudio.Shell;
    
  4. DTETestProvider Nella classe importare un oggetto SVsServiceProvider.

    [Import]
    internal SVsServiceProvider ServiceProvider = null;
    
  5. GetClassifier() Nel metodo aggiungere il codice seguente prima dell'istruzione return :

    ThreadHelper.ThrowIfNotOnUIThread();
    DTE dte = (DTE)ServiceProvider.GetService(typeof(DTE));
    

Vedi anche