共用方式為


逐步解說:從編輯器延伸模組存取 DTE 物件

在 VSPackages 中,您可以使用 DTE 物件的類型呼叫 GetService 方法,以取得 DTE 物件。 在 Managed Extensibility Framework (MEF) 擴充功能中,您可以匯入 SVsServiceProvider ,然後使用 類型DTE呼叫 GetService 方法。

必要條件

若要依照本逐步解說執行作業,您必須安裝 Visual Studio SDK。 如需詳細資訊,請參閱 Visual Studio SDK

取得 DTE 物件

  1. 建立 C# VSIX 專案,並將其命名為 DTETest新增編輯器分類器項目範本,並將其命名為 DTETest

    如需詳細資訊,請參閱 使用編輯器項目範本建立延伸模組

  2. 將下列元件參考新增至專案:

    • Microsoft.VisualStudio.Shell.Framework
    • Microsoft.VisualStudio.Shell.Immutable.10.0
  3. DTETestProvider.cs 檔案中,新增下列 using 指示詞:

    using EnvDTE;
    using Microsoft.VisualStudio.Shell;
    
  4. 在類別中 DTETestProvider ,匯入 SVsServiceProvider

    [Import]
    internal SVsServiceProvider ServiceProvider = null;
    
  5. 在方法中 GetClassifier() ,在 語句之前 return 新增下列程序代碼:

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

另請參閱