共用方式為


Visual Studio 殼層

Visual Studio Shell 是 Visual Studio 中整合的主要代理程式。 殼層提供必要的功能,讓 VSPackage 能夠共用一般服務。 由於 Visual Studio 的架構目標是在 VSPackage 中授予主要功能,因此殼層是提供基本功能並支援其元件 VSPackage 之間交叉通訊的架構。

殼牌職責

殼層具有以下關鍵職責:

  • 支援 (透過 COM 介面) 使用者介面 (UI) 的基本元素。 其中包括預設功能表和工具列、文件視窗框架或多文件介面 (MDI) 子視窗,以及工具視窗框架,以及停駐支援。

  • 在執行中的文件表格 (RDT) 中維護所有目前開啟的文件的執行清單,以協調文件的持續性,並保證無法以多種方式或以不相容的方式開啟一個文件。

  • 支援命令路由和命令處理介面。 IOleCommandTarget

  • 在適當的時間載入 VSPackage。 延遲載入 VSPackage 是提升殼層效能的必須措施。

  • 管理某些共用服務,例如 SVsShell提供基本 Shell 功能的 ,以及 SVsUIShell提供基本視窗功能的 。

  • 管理解決方案 (.sln) 檔案。 解決方案包含相關專案群組,類似於 Visual C++ 6.0 中的工作區 (.dsw) 檔案。

  • 追蹤整個殼層的選擇、上下文和貨幣。 外殼會追蹤下列類型的項目:

    • 目前的項目

    • 目前的專案項目或 ItemID 是目前的 IVsHierarchy

    • 屬性」視窗的目前選取項目或 SelectionContainer

    • 控制命令、功能表和工具列可見度的 UI 上下文識別碼或 CmdUIGuids

    • 目前作用中的元素,例如作用中視窗、文件和復原管理器

    • 驅動動態說明的使用者上下文屬性

    Shell 也會調解已安裝的 VSPackage 與目前服務之間的通訊。 它支援 Shell 的核心功能,並使這些功能可用於整合在 Visual Studio 中的所有 VSPackages。 這些核心功能包括以下項目:

  • 關於 對話方塊和啟動畫面

  • 新增新增現有項目對話框

  • 「類別檢視」 視窗和 物件瀏覽器

  • 「參考」 對話方塊

  • 「文件大綱」 視窗

  • 動態說明視窗

  • 尋找取代

  • 開啟專案開啟檔案 對話方塊位於 新建 功能表上

  • 工具」功能表上的「選項」對話方塊

  • 屬性視窗

  • 解決方案總管

  • 「工作清單」 視窗

  • 工具箱