在整合式開發環境 (IDE) 中有兩種類型的事件,一種是適用於所有專案的事件,另一種是只適用於特定專案類型的事件。 適用於所有專案類型的事件範例包括加入新檔案、選取功能表選項,以及關閉視窗; 只適用於特定專案類型的事件範例則包括在專案中加入參考或 Web 參考。
這項工作假設您已經知道如何存取巨集開發環境和建立巨集專案。 如需詳細資訊,請參閱使用巨集自動執行重複的動作。
在這個範例中,會示範如何回應適用於所有 Visual Studio 專案的視窗事件。 如需適用於所有語言之事件的詳細資訊,請參閱回應 Automation 事件。
注意事項 |
|---|
根據您目前使用的設定或版本,您所看到的對話方塊與功能表指令可能會與 [說明] 中描述的不同。 使用 [一般開發設定] 開發了這些程序。 若要變更設定,請從 [工具] 功能表中選取 [匯入和匯出設定]。 如需詳細資訊,請參閱 使用設定。 |
若要擷取語言中性事件
在 [MyMacros] 中,建立一個新的巨集模組並將它命名為 CaptureEvents。
當您建立新的巨集時,會預設加入一個名為 EnvironmentEvents 的模組。 這個模組會定義許多在回應 Automation 事件所列的表格中描述的事件物件 (Event Object)。 在 EnvironmentEvents 模組中,已經依照下列程式碼所示宣告了模組層級的 WindowEvents 變數。
Public WithEvents windowEvents As EnvDTE.WindowEvents在 EnvironmentEvents 模組中,使用 [巨集 IDE] 編輯器中的 [類別名稱] 和 [方法名稱] 下拉式方塊,建立變數的 WindowClosing 事件處理常式,或是剪貼下列程式碼。
Public Sub windowEvents_WindowClosing( _ ByVal Window As EnvDTE.Window) Handles windowEvents.WindowClosing MsgBox("You are closing the window.") End Sub返回開發環境並關閉使用中視窗。
訊息方塊隨即出現。 每次您關閉使用中視窗時,都會顯示這個訊息。 如果您不希望每次關閉使用中視窗時都收到這個訊息,則請刪除此事件處理常式。
將參考加入至專案
在這個範例中,會示範將參考加入至專案時要如何回應。 語言特定事件會包含在 Events 屬性中。 這個範例會提供特定專案繫結至 ReferencesEvents 的應用方式。 您也可以藉由在 EnvironmentEvents 模組中定義處理常式,來提供全域層級的事件處理常式。 如需詳細資訊,請參閱 HOW TO:在特定的專案類型的巨集中建立事件處理常式。若要執行這個範例,必須在 Visual Studio IDE 中開啟 Visual Basic 或 Visual C# 專案。
若要擷取 Visual Basic 或 Visual C# 事件
建立一個名為 CaptureRefEvents 的新巨集模組。
在巨集整合式開發環境 (IDE) 中,從 [專案] 功能表中選取 [加入參考],加入 VSLangProj 的參考。 在 [加入參考] 對話方塊中,選取 [VSLangProj],按一下 [確定],然後再按 [加入]。
在 EnvironmentEvents 模組中,展開 [自動產生的程式碼,不修改] 摺疊區段,並加入模組層級的 ReferencesEvents 變數。
Dim WithEvents refEvents As VSLangProj.ReferencesEvents使用編輯器中的 [類別名稱] 和 [方法名稱] 下拉式方塊,建立變數的事件處理常式。
Public Sub refEvents_ReferenceAdded(ByVal pReference As _ VSLangProj.Reference) Handles refEvents.ReferenceAdded MsgBox(pReference.Name & " was added to the project.") End Sub在 [巨集總管] 中,以滑鼠右鍵按一下 CaptureRefEvents 模組, 從下拉式功能表 (Drop-Down Menu) 中選取 [新增巨集]。 剪貼下列程式碼,初始化 refEvents 變數。
Public Sub ConnectRefEvents() Dim proj As VSLangProj.VSProject proj = CType(DTE.Solution.Projects.Item(1).Object, _ VSLangProj.VSProject) refEvents = proj.Events.ReferencesEvents End Sub儲存 ConnectRefEvents 巨集。
在 Visual Studio IDE 中,開啟 Visual Basic 或 Visual C# 專案。
執行 ConnectRefEvents 巨集。
在 Visual Studio IDE 中加入專案的參考。
內容為「<Reference name> 已加入至專案」的訊息方塊隨即顯示。
注意事項