共用方式為


建立擴充功能的功能表命令

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

本逐步解說示範如何建立擴充功能會啟動 [記事本] 的功能表命令。

必要條件

啟動 Visual Studio 2015 中,您未安裝 Visual Studio SDK 從 「 下載中心 」。 它是 Visual Studio 安裝程式的選用功能。 您也可以在稍後安裝 VS SDK。 如需詳細資訊,請參閱安裝 Visual Studio SDK

建立功能表命令

  1. 建立 VSIX 專案,名為FirstMenuCommand。 您可以找到 VSIX 專案範本,在新的專案下的對話方塊Visual C# / 擴充性

  2. 專案開啟時,加入名為的自訂命令項目範本FirstCommand。 在方案總管 中,以滑鼠右鍵按一下專案節點,然後選取加入 / 新的項目。 在加入新項目 對話方塊中,移至Visual C# / 擴充性,然後選取自訂命令。 在名稱視窗的底部欄位中,將命令檔名稱變更為FirstCommand.cs

  3. 建置此專案並開始偵錯。

    Visual Studio 的實驗執行個體隨即出現。 如需詳細的實驗執行個體的詳細資訊,請參閱實驗執行個體

  4. 在實驗執行個體中,開啟工具 / 擴充功能和更新視窗。 您應該會看到FirstMenuCommand這裡延伸模組。 (如果您開啟擴充功能和更新在 Visual Studio 的工作執行個體,不會看到FirstMenuCommand)。

    現在請移至工具實驗執行個體中的功能表。 您應該會看到叫用 FirstCommand命令。 此時只會出現訊息方塊,指出 「 FirstCommandPackage 內 FirstMenuCommand.FirstCommand.MenuItemCallback() 」。 我們將了解實際啟動 [記事本] 下一節中從這個命令。

變更功能表命令處理常式

現在讓我們更新命令處理常式,以啟動 [記事本]。

  1. 停止偵錯,並返回您的 Visual Studio 的工作執行個體。 開啟 FirstCommand.cs 檔案並新增下列 using 陳述式︰

    using System.Diagnostics;  
    
  2. 尋找 private FirstCommand 建構函式。 這是命令連結至命令的服務和命令處理常式會指定位置。 變更命令處理常式的名稱來 StartNotepad,如下所示︰

    private FirstCommand(Package package)  
    {  
        if (package == null)  
        {  
            throw new ArgumentNullException(nameof(package));  
        }  
    
        this.package = package;  
    
         OleMenuCommandService commandService = this.ServiceProvider.GetService(typeof(IMenuCommandService)) as OleMenuCommandService;  
        if (commandService != null)  
        {  
            CommandID menuCommandID = new CommandID(CommandSet, CommandId);  
            // Change to StartNotepad handler.  
            MenuCommand menuItem = new MenuCommand(this.StartNotepad, menuCommandID);  
            commandService.AddCommand(menuItem);  
        }  
    }  
    
  3. 移除 MenuItemCallback 方法並新增 StartNotepad 方法只會啟動 [記事本]:

    private void StartNotepad(object sender, EventArgs e)  
    {  
        Process proc = new Process();  
        proc.StartInfo.FileName = "notepad.exe";  
        proc.Start();  
    }  
    
  4. 現在試試看。 當您開始偵錯的專案,然後按一下工具] / [叫用 FirstCommand,您應該會看到 [記事本] 的執行個體出現。

    您可以使用的執行個體程序類別來執行任何的可執行檔中,而不只是 「 記事本 」。 試試看 calc.exe,例如。

清除在實驗環境

如果您正在開發多個副檔名,或只瀏覽具有不同版本的延伸模組程式碼的結果,您的實驗環境可能會停止運作無誤的方式。 在此情況下,您應該執行重設指令碼。 它會呼叫重設 Visual Studio 2015 實驗執行個體,和其隨附於 Visual Studio SDK。 此指令碼移除在實驗環境中,您的擴充功能的所有參考,因此您可以從頭開始。

您可以取得此指令碼中有兩種︰

  1. 從桌面上,尋找重設 Visual Studio 2015 實驗執行個體

  2. 從命令列中,執行下列命令︰

    <VSSDK installation>\VisualStudioIntegration\Tools\Bin\CreateExpInstance.exe /Reset /VSInstance=14.0 /RootSuffix=Exp && PAUSE  
    

部署您的擴充功能

既然您已經執行您想要的方式工具擴充功能,它是時間來思考與朋友和同事共用。 這很簡單,只要它們已安裝 Visual Studio 2015。 您只需要為您所建立的.vsix 檔傳送給他們。 (請務必建置在發行模式中)。

您可以找到此延伸模組的.vsix 檔案 FirstMenuCommand bin 目錄中。 具體而言,假設您已建立的發行組態,則會發生在︰

>\FirstMenuCommand\FirstMenuCommand\bin\Release\ FirstMenuCommand.vsix

若要安裝擴充功能,您的朋友必須關閉所有開啟的 Visual Studio 中,執行個體,然後按兩下此.vsix 檔案,這會開啟VSIX 安裝程式。 將檔案複製到**%LocalAppData%\Microsoft\VisualStudio\14.0\Extensions**目錄。

當您的朋友一次啟動 Visual Studio 時,他會發現 FirstMenuCommand 擴充功能中的工具 / 擴充功能和更新。 他可以移至擴充功能和更新來解除安裝或停用擴充功能,太。

後續步驟

此逐步解說示範了一小部分您可以執行的功能與 Visual Studio 擴充功能。 以下是使用 Visual Studio 擴充功能可以執行其他 (很簡單) 作業的簡短清單︰

  1. 您可以使用簡單的功能表命令的更多項目︰

    1. 加入您自己的圖示︰將圖示加入功能表命令

    2. 變更功能表命令的文字︰變更功能表命令的文字

    3. 命令加入功能表捷徑︰繫結至功能表項目的的鍵盤快速鍵

  2. 加入不同類型的命令、 功能表和工具列︰擴充的功能表和命令

  3. 新增工具視窗和擴充的內建的 Visual Studio 工具視窗︰延伸和自訂工具視窗

  4. 加入程式碼的建議,IntelliSense 和其他功能,對現有程式碼編輯器︰擴充編輯器和語言服務

  5. 加入您的擴充功能的選項和屬性頁和使用者設定︰擴充屬性和 [屬性] 視窗擴充使用者設定和選項

其他類型的延伸模組需要多一點的工作,例如建立新的專案類型 (擴充專案),建立新的編輯器類型 (建立自訂編輯器和設計工具),或在獨立的 shell 中實作您的擴充功能︰ Visual Studio 隔離 Shell