Partager via


Procédure pas à pas : accéder à l’objet DTE à partir d’une extension d’éditeur

Dans VSPackages, vous pouvez obtenir l’objet DTE en appelant la GetService méthode avec le type de l’objet DTE. Dans les extensions MEF (Managed Extensibility Framework), vous pouvez importer SVsServiceProvider , puis appeler la GetService méthode avec un type de DTE.

Prérequis

Pour suivre cette procédure pas à pas, vous devez installer le Kit de développement logiciel (SDK) Visual Studio. Pour plus d'informations, consultez SDK Visual Studio.

Obtenir l’objet DTE

  1. Créez un projet VSIX C# et nommez-le DTETest. Ajoutez un modèle d’élément Classifieur d’éditeur et nommez-le DTETest.

    Pour plus d’informations, consultez Créer une extension avec un modèle d’élément d’éditeur.

  2. Ajoutez les références d’assembly suivantes au projet :

    • Microsoft.VisualStudio.Shell.Framework
    • Microsoft.VisualStudio.Shell.Immutable.10.0
  3. Dans le fichier DTETestProvider.cs , ajoutez les directives suivantes using :

    using EnvDTE;
    using Microsoft.VisualStudio.Shell;
    
  4. Dans la DTETestProvider classe, importez un SVsServiceProvider.

    [Import]
    internal SVsServiceProvider ServiceProvider = null;
    
  5. Dans la GetClassifier() méthode, ajoutez le code suivant avant l’instruction return :

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

Voir aussi