命令、功能表及工具列

功能表和工具列是使用者存取 VSPackage 中命令的方式。 命令是完成工作 (例如,列印文件、重新整理檢視,或建立新檔案) 的功能。 功能表和工具列是一種圖形方式,方便向使用者呈現您的命令。 通常,相關的命令會一起聚集在相同的功能表或工具列上。

  • 功能表通常會顯示為聚集在整合式開發環境 (IDE) 或工具視窗頂端的一連串單字字串。 功能表也可以顯示為滑鼠右鍵事件的結果,並且指的是該內容中的快顯功能表。 按一下時,會展開功能表以顯示一個或多個命令。 按一下時,命令可以執行工作,或啟動包含其他命令的子功能表。 一些已知功能表名稱包括 [檔案][編輯][檢視][視窗]。 如需詳細資訊,請參閱擴充功能表和命令

  • 工具列通常是數串的按鈕和其他控制項 (例如下拉式方塊、清單方塊、文字方塊和功能表控制器)。 所有工具列控制項都是與命令相關聯。 按一下工具列按鈕時,會啟動其相關聯的命令。 工具列按鈕通常會有圖示建議基礎命令 (例如 [列印] 命令的印表機)。 在下拉式清單控制項中,清單中的每個項目都是與不同的命令相關聯。 功能表控制器是一種混合體,其中,控制項的一邊是工具列按鈕,另一邊則是按一下時顯示其他命令的向下箭號。 如需詳細資訊,請參閱將功能表控制器新增至工具列

  • 建立命令時,也必須一併建立它的事件處理常式。 事件處理常式可判斷命令的顯示和啟用時間、可讓您修改其文字,並確保在啟動時適當地回應命令 (路由遞送)。 在大部分情況下,IDE 會使用 IOleCommandTarget 介面來處理命令。 Visual Studio 中的命令會以階層方式路由遞送,即從最內層命令內容開始 (根據本機選取範圍) 到最外層內容 (根據全域選取範圍)。 加入主功能表的命令可立即用於指令碼編寫。 如需詳細資訊,請參閱 MenuCommands 與 OleMenuCommands選取項目內容物件

    若要定義新的功能表和工具列,您必須以 Visual Studio 命令資料表 (.vsct) 檔案描述它們。 Visual Studio 套件範本會建立這個檔案以及必要項目,以支援您在範本中所選取的任何命令、工具列和編輯器。 或者,您也可以使用 XML 結構描述撰寫自己的 .vsct 檔案 (如這裡所述:VSCT XML 結構描述參考)。

    如需使用 .vsct 檔案的詳細資訊,請參閱 Visual Studio 命令資料表 (.vsct) 檔案

    本節中的主題旨在說明命令、功能表和工具列如何在 VSPackages 中運作。

本節內容

命令資料表格式規格的深入描述。

描述命令資料表的 XML 語法和編譯程式。

描述預先定義的命令、群組、功能表和工具列。

指定 Visual Studio IDE 可使用的預先定義功能表、命令和命令群組。

說明如何設計命令。

提供命令的指導方針。

說明如何讓命令可供 Visual Studio 使用。

說明如何實作使用 Interop 組件的命令。

說明如何在 VSPackage 中路由傳送命令。