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
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.
Adicione as seguintes referências de assembly ao projeto:
- Microsoft.VisualStudio.Shell.Framework
- Microsoft.VisualStudio.Shell.Immutable.10.0
No arquivo DTETestProvider.cs adicione as seguintes
using
diretivas:using EnvDTE; using Microsoft.VisualStudio.Shell;
Na classe, importe
DTETestProvider
um SVsServiceProviderarquivo .[Import] internal SVsServiceProvider ServiceProvider = null;
GetClassifier()
No método, adicione o seguinte código antes dareturn
instrução:ThreadHelper.ThrowIfNotOnUIThread(); DTE dte = (DTE)ServiceProvider.GetService(typeof(DTE));