Compartilhar via


Demonstra Passo a passo: Acessar o objeto DTE de uma extensão do editor

Em VSPackages, você pode obter o objeto DTE chamando o método com o GetService tipo do objeto DTE. Nas extensões do Managed Extensibility Framework (MEF), você pode importar SVsServiceProvider e chamar o GetService método com um tipo de DTE.

Pré-requisitos

Para seguir este passo a passo, você deve instalar o SDK do Visual Studio. Para obter mais informações, confira SDK do Visual Studio.

Obter o objeto DTE

  1. Crie um projeto C# VSIX e nomeie-o DTETest. Adicione um modelo de item Editor Classificador e nomeie-o DTETest.

    Para obter mais informações, consulte Criar uma extensão com um modelo de item do editor.

  2. Adicione as seguintes referências de assembly ao projeto:

    • Microsoft.VisualStudio.Shell.Framework
    • Microsoft.VisualStudio.Shell.Immutable.10.0
  3. No arquivo DTETestProvider.cs adicione as seguintes using diretivas:

    using EnvDTE;
    using Microsoft.VisualStudio.Shell;
    
  4. Na classe, importe DTETestProvider um SVsServiceProviderarquivo .

    [Import]
    internal SVsServiceProvider ServiceProvider = null;
    
  5. GetClassifier() No método, adicione o seguinte código antes da return instrução:

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

Confira também