Návod: Přístup k objektu DTE z rozšíření editoru
V rozšíření VSPackages můžete objekt DTE získat voláním GetService metody s typem objektu DTE. V rozšířeních MEF (Managed Extensibility Framework) můžete importovat SVsServiceProvider a volat metodu GetService s typem DTE.
Požadavky
Pokud chcete postupovat podle tohoto návodu, musíte nainstalovat sadu Visual Studio SDK. Další informace najdete v sadě Visual Studio SDK.
Získání objektu DTE
Vytvořte projekt VSIX jazyka C# a pojmenujte ho DTETest. Přidejte šablonu položky klasifikátoru editoru a pojmenujte ji DTETest.
Další informace najdete v tématu Vytvoření rozšíření pomocí šablony položky editoru.
Do projektu přidejte následující odkazy na sestavení:
- Microsoft.VisualStudio.Shell.Framework
- Microsoft.VisualStudio.Shell.Immutable.10.0
Do souboru DTETestProvider.cs přidejte následující
using
direktivy:using EnvDTE; using Microsoft.VisualStudio.Shell;
DTETestProvider
Ve třídě naimportujte .SVsServiceProvider[Import] internal SVsServiceProvider ServiceProvider = null;
GetClassifier()
Do metody přidejte následující kód předreturn
příkaz:ThreadHelper.ThrowIfNotOnUIThread(); DTE dte = (DTE)ServiceProvider.GetService(typeof(DTE));