共用方式為


逐步解說:建立精靈

更新:2007 年 11 月

精靈是一種程式,它會帶領使用者執行一連串動作,藉以完成複雜、重複或困難的工作,例如 [增益集精靈]。以 Windows 為例,它會利用精靈連線至網路資源、連接至印表機等等。

在 Visual Studio 中,精靈通常會提出一連串問題,並要求使用者輸入資訊,然後再根據輸入的結果產生程式碼。但是,精靈不一定都會顯示使用者介面 (UI),也可以設計為在幕後產生程式碼,不讓使用者看到。

精靈有下列三種不同的類型:

  • 新增專案精靈 -- 正如其名,這類型精靈是用來為特定類型的專案產生新的程式碼,讓使用者能開始加入自己的程式碼。這是最常使用的精靈類型。

  • 加入新項目精靈 -- 這類型精靈是用來在專案中加入新的項目,例如 Web Form、文字檔、HTML 網頁、XML 網頁等。

  • 自訂精靈 -- 這類型精靈不是從對話方塊中呼叫,而是直接從增益集 (Add-In)、巨集或其他類型的程式碼中呼叫。自訂精靈可能會顯示 UI,也可能不會顯示。但不論顯示與否,都會產生程式碼。這種類型的精靈最不常使用。

不論是何種類型的精靈,都具有下列共同特性:

  • 它們都是 .NET 物件,可實作 IDTWizard 介面,而且都有相關聯的 Execute 方法,其中包含您要精靈執行的程式碼。

  • 它們都會使用 .vsz 檔案在 Visual Studio 中顯示自己。

  • 它們都會產生程式碼或執行某些其他工作。

在您建立的精靈中,您可以自訂各項目的外觀。精靈多半是由一或多個視窗或頁面所組成。頁面可以包含描述性的影像 (例如在頁面的頂端或左邊)、標籤描述、指示,以及可放置巡覽控制項 (例如 [下一步] 和 [上一步]) 的區域。

在 Visual C++ 中建立精靈的程序,與建立標準 Visual Studio 精靈略有不同。如需以 Visual C++ 為目標建立精靈的詳細資訊,請參閱設計精靈建立自訂精靈

注意事項:

根據目前使用的設定與版本,您所看到的對話方塊與功能表命令可能會與 [說明] 中所描述的不同。使用 [一般開發設定] 開發了這些程序。若要變更設定,請從 [工具] 功能表中選擇 [匯入和匯出設定]。如需詳細資訊,請參閱 Visual Studio 設定

基本精靈範例

Visual Studio 增益集精靈

這個圖片顯示的是 [增益集精靈] 的一個面板,即 [新增專案] 類型的精靈,它會帶領您執行一連串建立增益集的步驟。您可以自訂精靈的外觀,不過 [增益集精靈] 是標準類型精靈樣式的不錯範例。完成的精靈將會變成 [新增專案] 或 [加入新項目] 對話方塊中可使用的樣板。

下面將說明如何建立基本精靈並選擇性地指定自訂圖示。

若要在 Visual Basic 和 Visual C# 中建立基本精靈

  1. 建立名為 MyNewWizard 的新類別庫 (Class Library) 專案。

  2. 在專案中加入 EnvDTEEnvDTE80 的參考。

    若要進行這動作,請以滑鼠右鍵按一下專案,然後按一下 [加入參考]。在 [加入參考] 對話方塊的 [.NET] 索引標籤中,按一下 [EnvDTE] 和 [EnvDTE80],然後按一下 [確定]。

  3. 在類別模組中,加入 EnvDTEEnvDTE80 的參考,並且實作 IDTWizard 介面。在此 Visual C# 範例中,您還必須加入 System.Windows.Forms 的參考。

    Imports EnvDTEImports EnvDTE80
    Public Class Class1
        Implements IDTWizard
    
    using System;
    using System.Collections.Generic;
    using System.Text;
    using EnvDTE;using EnvDTE80;using Windows.System.Forms;
    
    namespace MyNewWizard
    {
        public class Class1 : IDTWizard
        {
        }
    }
    

    當您將 Implements 陳述式 (Statement) 加入至 Visual Basic 時,請將游標定位於該行的結尾,然後按下 enter,即可自動建立 Execute 方法程序。但是在 Visual C# 中,則必須以手動方式加入 Execute 程序:

    public class Class1 : IDTWizard
        {
        public void Execute(object Application,         int hwndOwner, ref object[] contextParams,         ref object[] customParams,         ref EnvDTE.wizardResult retval)
    
  4. Execute 程序中加入您要精靈執行的程式碼。在此範例中,我們只會加入簡單的訊息方塊。

    您將具有下列項目:

    Imports EnvDTE
    Imports EnvDTE80
    
    Public Class Class1
        Implements IDTWizard
    
        Public Sub Execute(ByVal Application As Object, ByVal _
        hwndOwner As Integer, ByRef ContextParams() As Object, ByRef _
        CustomParams() As Object, ByRef retval As EnvDTE.wizardResult) _
        Implements EnvDTE.IDTWizard.Execute
            MsgBox("The wizard is now running.")
        End Sub
    End Class 
    
    using System.Text;
    using EnvDTE;
    using EnvDTE80;
    using System.Windows.Forms;
    
    namespace MyNewWizardCS
    {
        public class Class1 : IDTWizard
        {
    
        public void Execute(object Application, 
            int hwndOwner, ref object[] contextParams, 
            ref object[] customParams, 
            ref EnvDTE.wizardResult retval)
        {
            MessageBox.Show("The wizard is now running.");
        }
    }
    
    }
    

    當精靈啟動時便會呼叫 Execute 程序。

  5. 在 Visual Basic 中,以滑鼠右鍵按一下 [方案總管] 中的專案、按一下 [屬性] 開啟 [專案屬性] 頁面、按一下 [編譯] 索引標籤,然後核取頁面最下方的 [註冊 COM Interop] 方塊。

    在 Visual C# 中,您不需要進行此步驟。

  6. 按一下 [建置] 功能表上的 [建置方案],即可建置方案以便建立類別庫 (Class Library) dll。

  7. 針對精靈建立名為 MyNewWizard.vsz 的 .vsz 文字檔。

    若要這樣做,請按一下 [檔案]、指向 [新增],然後按一下 [檔案]。

    .vsz 檔案是文字檔,可以讓 Visual Studio 辨識精靈,並且將精靈顯示在 [新增專案] 或 [加入新項目] 對話方塊中。Wizard 參數應設定為專案的 progID (Project.Classname) 或 GUID。如需詳細資訊,請參閱 設定 .Vsz 檔案以啟動精靈

    注意事項:

    您也可以選擇為精靈建立 VSDir 檔案。這個檔案包含在 [加入新的專案] 或 [新增檔案] 對話方塊中顯示為精靈描述的資訊。它也可以讓您指定圖示,以及排列它在清單中的位置。如需詳細資訊,請參閱 使用 .Vsdir 檔案將精靈加入至加入項目和新增專案對話方塊

  8. 將下列程式碼加入至 MyNewWizard.vsz:

    VSWizard 7.0
    Wizard=MyNewWizard.Class1
    Param=First Item
    Param=Second Item
    
  9. 將新的 .vsz 檔案儲存在您希望精靈出現的目錄中。

    在這個範例中,我們希望精靈出現在 Visual Basic 專案的 [加入新項目] 對話方塊中,因此將 .vsz 檔案儲存在下列目錄中:<drive>:\Program Files\Microsoft Visual Studio 8\VB\VBProjectItems。

  10. 結束 Visual Studio,然後重新啟動。

    這麼做會強制 Visual Studio 讀取新的 .vsz 檔案。

  11. 建立新的 Visual Basic 專案,例如 Windows 應用程式專案。

  12. 以滑鼠右鍵按一下專案、指向 [加入項目],然後按一下 [新增項目]。

    您應該會在 [加入新項目] 對話方塊中看見新的精靈 (MyNewWizard)。

  13. 按一下精靈,再按一下 [加入] 按鈕。

    您將會看到「精靈正在執行」的訊息。

若要顯示新精靈的自訂圖示

  • 將主檔名與 .dll 檔相同,但副檔名為 .ico 的圖示檔案,放在精靈檔案所在的同一個目錄中。

    例如,如果精靈的名稱為 MyNewWizard.dll,就將 .ico 檔命名為 MyNewWizard.ico。

    -或-

  • 如果您已建立 VSDir 檔案,請在該檔案中指定圖示 (.ico) 檔案的路徑。

請參閱

工作

HOW TO:建立增益集

概念

Automation 物件模型圖表

使用 .Vsdir 檔案將精靈加入至加入項目和新增專案對話方塊

設定 .Vsz 檔案以啟動精靈

參考

IDTWizard

Visual Studio 命令和參數

其他資源

建立增益集和精靈