共用方式為


指令設計

當您將命令新增至 VSPackage 時,您必須指定命令的顯示位置、可用時間,以及處理方式。

定義命令

若要定義新的命令,請在 VSPackage 專案中包含 Visual Studio 命令資料表 (.vsct) 檔案。 如果您已使用 Visual Studio 套件範本建立 VSPackage,專案會包含其中一個檔案。 如需詳細資訊,請參閱 Visual Studio 命令資料表 (.vsct) 檔案

Visual Studio 會合併它找到的所有 .vsct 檔案,以便顯示命令。 由於這些檔案與 VSPackage 二進位檔不同,因此 Visual Studio 不需要載入套件即可尋找命令。 如需詳細資訊,請參閱 VSPackage 如何新增使用者介面元素

Visual Studio 會使用 ProvideMenuResourceAttribute registration 屬性來定義功能表資源和命令。 如需詳細資訊,請參閱 命令實作

指令可以在執行時期以多種不同的方式變更。 它們可以顯示或隱藏、啟用或停用。 它們可以顯示不同的文字或圖示,或包含不同的值。 在 Visual Studio 載入 VSPackage 之前,可能會執行大量自訂。 如需詳細資訊,請參閱 VSPackage 如何新增使用者介面元素

命令處理常式

當您建立命令時,您必須提供事件處理常式來執行命令。 若使用者選取了命令,則必須適當地進行路由。 指令路由是指將指令發送至正確的 VSPackage,以啟用或停用它、隱藏或顯示它,以及在使用者選擇執行時執行它。 如需詳細資訊,請參閱 命令路由演算法

Visual Studio 命令環境

Visual Studio 可以裝載任意數目的 VSPackage,而且每個 VSPackage 都可以提供自己的命令集。 環境只會顯示適用於目前工作的命令。 如需詳細資訊,請參閱 命令可用性選取環境定義物件

定義新命令、功能表、工具列或快捷功能表的 VSPackage 會在安裝時透過參考原生或受控元件中資源的登錄專案,將其命令資訊提供給 Visual Studio。 然後,每個資源都會參考二進位資料資源 (.cto) 檔案,當您編譯 Visual Studio 命令資料表 (.vsct) 檔案時會產生該檔案。 這可讓 Visual Studio 提供合併的命令集、功能表和工具列,而不需要載入每個已安裝的 VSPackage。

指揮組織

環境會依群組、優先順序和功能表來定位命令。

  • 群組是相關指令的邏輯集合,例如, 剪下複製貼上 指令群組。 群組是指菜單上出現的命令。

  • 優先順序決定群組中個別命令在功能表上的顯示順序。

  • 菜單充當群組的容器。

    環境會預先定義一些命令、群組和功能表。 如需詳細資訊,請參閱 預設命令、群組和工具列放置

    可以將命令指派給主要群組。 主要群組控制指令在主功能表結構和 自訂 對話方塊中的位置。 命令可以出現在多個群組中;例如,命令可以位於主功能表、快捷功能表和工具列上。 如需詳細資訊,請參閱 VSPackage 如何新增使用者介面元素

指令路由

叫用和路由 VSPackages 命令的過程,與呼叫物件實例上的方法的過程不同。

環境會循序將命令從最內層 (本端) 指令環境定義 (以目前選取為基礎) 遞送至最外層 (廣域) 環境定義。 能夠執行命令的第一個環境將會處理該命令。 如需詳細資訊,請參閱 命令路由演算法

在大部分情況下,環境會透過 IOleCommandTarget 介面來處理命令。 因為命令路由配置可讓許多不同的物件處理命令, IOleCommandTarget 所以可以由任意數目的物件實作;其中包括 Microsoft ActiveX 控制項、視窗檢視實作、檔物件、專案階層,以及 VSPackage 物件本身 (適用於全域命令)。 在某些特殊情況下,例如在階層中傳遞路由命令,必須實作IVsHierarchy介面。

Title Description
命令實作 描述如何在 VSPackage 中實作命令。
命令可用性 描述 Visual Studio 內容如何判斷哪些命令可供使用。
指令路由演算法 描述 Visual Studio 命令路由架構如何讓不同的 VSPackage 處理命令。
指令放置準則 建議如何在 Visual Studio 環境中放置命令。
VSPackage 如何新增使用者介面元素 描述 VSPackage 如何以最佳方式利用 Visual Studio 命令架構。
預設指令、群組和工具列放置 描述 VSPackage 如何以最佳方式使用 Visual Studio 中包含的命令。
管理 VSPackage 描述 Visual Studio 如何載入 VSPackage。
Visual Studio 命令資料表 (.vsct) 檔案 提供 XML 型 .vsct 檔案的相關資訊,這些檔案可用來描述 VSPackage 中命令的配置和外觀。