選取項目和 IDE 中的貨幣
如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件。
Visual Studio整合式的開發環境 (IDE) 會維護有關使用者的資訊目前選取物件,使用選取內容。 使用選取的內容,VSPackages 可以參加兩種方式追蹤的貨幣︰
傳播到 IDE VSPackages 的貨幣資訊。
藉由監視使用者在 IDE 中的目前選取項目。
選取項目內容
Visual Studio IDE 全域追蹤的 IDE 貨幣,在它自己的全域選擇內容物件。 下表顯示構成的選取項目內容的項目。
項目 | 說明 |
---|---|
目前的階層 | 通常是目前的專案。NULL 目前階層架構表示目前整個解決方案。 |
目前的項目識別碼 | 選取的項目內目前的階層。在 [專案] 視窗中的多重選取時,可以有多個目前的項目。 |
目前SelectionContainer |
保留 [屬性] 視窗應顯示屬性的一個或多個物件。 |
此外,環境會維護兩個全域清單︰
使用中的 UI 命令識別碼的清單
目前使用中的項目型別清單。
視窗類型和選取範圍
Visual Studio IDE 會將 windows 組織成兩種一般類型︰
階層類型 windows
框架視窗,例如工具和文件視窗
IDE 會針對每個視窗類型以不同的方式追蹤貨幣。
最常見的專案類型] 視窗會是 [方案總管],以控制在 IDE。 專案類型] 視窗會追蹤通用的階層和項目識別碼的全域範圍內容,而且 [] 視窗中依賴使用者的選取項目,以判斷目前的階層。 適用於專案類型 windows 環境提供全域服務SVsShellMonitorSelection、 透過哪些 VSPackages 可以監視目前開啟的項目值。 瀏覽環境中的屬性是此全域服務所驅動。
框架視窗,相反地,會使用框架視窗內 DocObject 推送 SelectionContext 值 (階層/識別碼/SelectionContainer 事)。 。 框架視窗會使用服務SVsShellMonitorSelection針對此目的。 DocObject 可以只將值推選取容器中,只針對階層的本機值和項目識別碼不變,跟一般的 MDI 子文件。
事件和貨幣
兩種類型的事件可能會發生影響環境的概念的貨幣︰
會傳播到全域層級,而變更視窗框架的選取項目內容的事件。 這種事件的範例包括 MDI 子視窗開啟,全域工具視窗開啟或開啟一個專案類型的工具視窗。
變更項目追蹤視窗框架的選取項目內容中的事件。 範例包括變更選取範圍內 DocObject 或變更專案類型] 視窗中的選取項目。