Visual Studio 的 SDK 內
有許多方式來擴充 Visual Studio。 三個常見的是: 自動化、 VSPackage 的副檔名,以及管理擴充性架構 (MEF) 副檔名。
使用精靈,自動化主要用來與巨集和增益集自動化重複的工作,或提供使用者輸入的結構。
建立 VSPackage 是功能強大的方式來擴充 Visual Studio。 Visual Studio 包含許多元件的 VSPackages,例如偵錯工具和預先定義的工具列。 VSPackage 副檔名可以存取,並且擴充許多的 Visual Studio 的元件,如殼層及專案系統。
管理擴充性架構 (MEF) 是一種擴充性機制,用於 Visual Studio 2010年編輯器] 中的第一次。 MEF 可讓您自訂和擴充編輯器,而不必建立 VSPackage。
Visual Studio 的擴充性模型
Visual Studio 的擴充性模型是由不同的程式庫,可讓擴充項,可以存取並擴充 Visual Studio 元件所組成。
模型的第一個圖層中找到 Visual Studio 的 API,也就是一組相同的 Microsoft 開發人員用來開發 Visual Studio 的介面。 您可以使用樣板式庫名為 Visual Studio 的程式庫 (VSL) 至 unmanaged 程式碼中撰寫擴充功能。
如果您正在撰寫副檔名為 managed 程式碼中,您可以直接使用 Visual Studio 的 interop 組件,或者您可以使用管理套件架構 (MPF)。 管理套件架構提供包裝許多 Visual Studio 的 API 中介面的類別。
如果您在擴充 Visual Studio 2010年編輯器,您可以使用編輯器組件,以及定義通告擴充功能所用的合約至 Visual Studio 編輯器 MEF 組件。
如需詳細資訊,請參閱:
Visual Studio 服務
服務提供一組特定的元件,若要使用的介面。 Visual Studio 會提供一組可供任何元件,包括副檔名的服務。 例如,Visual Studio 的服務可讓工具視窗以顯示或隱藏起來,以動態方式提供存取說明、 狀態列或使用者介面事件。 Visual Studio 2010年編輯器也會提供編輯器延伸模組可以匯入的服務。
如需詳細資訊,請參閱:
Visual Studio 的 「 可延伸的元件
下列元件是最常使用 Visual Studio 的副檔名:
殼層命令
功能表和工具列
工具視窗
文件視窗
編輯器
語言服務
專案
範本
命令
命令是完成工作,如列印文件、 重新整理檢視,或建立新檔案的功能。
當您擴充 Visual Studio 時,您可以建立命令,並登錄 Visual Studio 的殼層。 您可以指定這些命令上出現的方式在 IDE 中,例如功能表或工具列。 自訂命令通常會出現在工具 功能表和命令,以顯示工具視窗會出現在 其他視窗 ] 子功能表的 檢視功能表。
當您建立一個指令時,則您也必須為其建立事件處理常式。 事件處理常式會判斷命令時為可見或已啟用,讓您可以修改它的文字,並保證命令啟動時會適當地回應。 在大部分的情況下,IDE 會處理命令使用IOleCommandTarget介面。 Visual Studio 中的命令會從最內層的命令內容,而該區域的範圍,並繼續最外層的內容中,而該全域範圍開始進行處理。 新增至主功能表命令會立即可供指令碼。
如需詳細資訊,請參閱 VSPackages 對 IDE 所新增的使用者介面項目。
功能表和工具列
功能表與工具列會提供讓使用者能夠叫用命令。 功能表是的通常會顯示成個別的文字項目,在上面的工具視窗的命令列或欄。 子功能表是第二個功能表出現在使用者按一下命令,包括一個小箭頭。 當使用者以滑鼠右鍵按一下特定的 UI 項目,則會出現內容功能表。 一些常用的功能表名稱是檔案, 編輯, 檢視,以及 視窗。 如需詳細資訊,請參閱 一般工作的命令、 功能表和工具列。
工具列是列或欄的按鈕和其他控制項,例如,下拉式方塊、 清單方塊和文字方塊。 工具列按鈕通常會有圖示的影像,例如,資料夾圖示的開啟的檔案 命令或使用印表機進行 列印指令。 所有的工具列項目會與命令關聯的。 當您按下工具列按鈕時,其相關聯的命令就會執行。 如果是下拉式控制項,在下拉式清單中的每個項目是不同的命令相關聯。 某些工具列控制項,如分隔器控制項,是混合。 控制項的一方是工具列按鈕,另一方是按下時會顯示數個命令的向下箭號。
如需詳細資訊,請參閱
工具視窗
工具視窗會在 IDE 中用來顯示資訊。 工具箱, 方案總管] 中, 屬性 ] 視窗中,以及 的 Web 瀏覽器是工具視窗的範例。
工具視窗通常會提供不同的使用者可以互動的控制項。 舉個例說, 屬性 ] 視窗可讓使用者設定的特定用途的物件屬性。 屬性視窗是特殊意義上來說,但也一般,因為它可以用在許多不同的情況。 同樣地, 輸出視窗特製化,因為它提供以文字為主的輸出,但一般,因為在 Visual Studio 中的許多子系統可以用它來提供輸出至 Visual Studio 的使用者。
請考慮下列的一隻 Visual Studio,其中包含數個工具視窗。
某些工具視窗都固定在一起的單一窗格會顯示 [方案總管] 工具視窗和其他的工具視窗會隱藏但可使用透過按一下索引標籤上。 圖中會顯示兩個其他的工具視窗中, 錯誤清單 和 輸出 ] 視窗中,在一個單一窗格固定在一起。
同時也會示範主文件] 窗格中,因為它會顯示數個編輯器視窗。 雖然工具視窗通常會有單一執行個體 (比方說,您可以僅開啟一個方案總管] 中),編輯器視窗可以有多個執行個體,其中每一個用來編輯個別的文件,但全部都要停駐在同一個窗格。 圖中會顯示具有兩個編輯器視窗、 表單設計工具視窗,以及瀏覽器視窗,來顯示起始頁的文件] 窗格。 在文件] 窗格中的所有視窗都都可以透過按一下索引標籤上,但包含 EditorPane.cs 檔案的 [編輯器] 視窗會顯示和使用。
當您擴充 Visual Studio 時,您可以建立的工具視窗,可以讓 Visual Studio 的使用者互動,以擴充。 您也可以建立您自己讓 Visual Studio 的使用者編輯文件的編輯器。 因為您的工具視窗和編輯器均會整合至 Visual Studio 中,您不必撰寫這些停駐或正確顯示索引標籤上。 當它們已正確登錄在 Visual Studio 中時,它們會自動提供工具視窗與文件視窗,在 Visual Studio 中的一般的功能。
如需詳細資訊,請參閱
文件視窗
文件視窗是一個圖文框的子視窗之多重文件介面 (MDI) 視窗。 文件視窗通常用來裝載在文字編輯器]、 [表單編輯器 (也就是設計工具) 或 [編輯控制項,但他們也可以主控其他功能的型別。 開新檔案 ] 對話方塊中包含的 Visual Studio 所提供的文件視窗的範例。
對大部份是特定程式語言,或檔案類型,例如 HTML 網頁、 框架組、 c + + 檔案或標頭檔。 選取範本,在開新檔案對話方塊中,使用者以動態方式建立文件視窗與範本相關聯之檔案類型編輯器。 當使用者開啟現有的檔案,也會建立文件視窗。
文件視窗僅限於 MDI 用戶端區域。 每個文件視窗的頂端,有定位點和 tab 鍵順序會連結到其他可能在 [MDI] 區域中開啟的視窗。 文件視窗索引標籤上按一下滑鼠右鍵顯示快顯功能表,其中包含要分成多個水平] 或 [垂直] 索引標籤群組中的 [MDI] 區域的選項。 分割的 [MDI] 區域,可讓多個檔案,以便同時檢視。
如需詳細資訊,請參閱
編輯器
Visual Studio 2010年編輯器是一種新的 Visual Studio 的元件。 雖然新的編輯器本身就是 VSPackage,它可讓您自訂它,並使用您的內容型別的 Managed 擴充性架構 (MEF)。 在許多情況下您不需要建立擴充編輯器] 中,VSPackage,不過如果您想要包含從命令介面 (例如,功能表指令或快速鍵) 的功能,您可以將副檔名為 MEF 與 VSPackage 中結合。
您也可以建立自訂的編輯器,例如,如果您想要讀取和寫入到資料庫,或如果您想要使用設計工具。 您也可以使用外部編輯器,例如 [記事本] 或 Microsoft WordPad。
如需詳細資訊,請參閱 編輯器。
語言服務
如果您希望 Visual Studio 的編輯器,以支援新的程式設計關鍵字或甚至是新的程式設計語言,您會建立語言服務。 每個語言服務可能會實作特定編輯器功能完整、 僅部分 ; 或根本不。 取決於它的設定方式,語言服務可以提供語法反白顯示、 括號對稱、 IntelliSense 支援,以及在編輯器中的其他功能。
語言服務的核心是剖析及掃描程式。 掃瞄器 (或 lexer),將原始程式檔分割成語彙基元,就所謂的項目,並剖析器會建立這些語彙基元之間的關聯性。 當您建立語言服務時,您必須實作剖析器和掃瞄器,讓 Visual Studio 能夠了解的語彙基元和語言的文法。
您可以建立管理和未管理的語言服務。
如需詳細資訊,請參閱
專案
Visual Studio,在專案的開發人員用來組織及建置原始程式碼和其他資源的容器。 可讓您組織、 建置、 除錯和部署原始程式碼的專案,請參考 Web 服務和資料庫,和其他資源。 VSPackages 可以提供專案類型、 專案子類型,以及自訂的工具,以擴充 Visual Studio 專案系統。
專案也可能會收集成是一群一起工作,以建立應用程式的一或多個專案的方案。 與方案相關的專案及狀態資訊會儲存純文字架構的方案 (.sln) 檔和二進位方案使用者選項 (.suo) 檔案、 兩個方案檔案中。 這些檔案是較早版本中所用的群組 (.vbg) 檔案類似Visual Basic,和工作區 」 (.dsw) 和使用者選項 (.opt) 檔案中用於較早版本的Visual C++。
如需詳細資訊,請參閱
專案和項目範本
Visual Studio 包含預先定義的專案範本和專案項目範本。 可以也讓您自己的範本,或取得來自社群、 範本,然後將它們整合到 Visual Studio 的。 MSDN 程式碼庫是樣板和擴充功能的地方。
範本包含了專案結構和特定種類的應用程式、 控制項、 文件庫或類別所需的基本檔案。 當您想要開發軟體,類似於其中一個範本時,建立的專案,以範本為基礎,並接著修改該專案中的檔案。
注意事項 |
---|
這個樣板架構不支援Visual C++專案。如需有關如何建立資訊Visual C++專案範本,請參閱設計精靈。 |
如需詳細資訊,請參閱 加入專案和專案項目範本。
整合式的殼層及隔離的殼層應用程式
在整合的模式] 或 [隔離的模式,可整合至 Visual Studio 的擴充功能。
使用整合式的介面,可讓您提供您的客戶可以使用加上其他的 Visual Studio 元件的自訂工具。 整合式的殼層已最佳化,主應用程式語言和軟體工具。
使用隔離的介面,可讓您建立具有您所選擇要包含 Visual Studio 元件 Visual Studio 命令介面中執行的自訂工具。 隔離的殼層是針對具有完整存取權 Visual Studio 服務,但也有自訂外觀的特殊工具最佳化和商標。
如需詳細資訊,請參閱