Supports multiple view tabs on the same view, such as the HTML and Design tabs on the HTML editor.
Assembly: Microsoft.VisualStudio.Shell.Interop (in Microsoft.VisualStudio.Shell.Interop.dll)
InitializeEditorInstance checks to see if the document view object implements IVsMultiViewDocumentView. If it does, InitializeEditorInstance calls ActivateLogicalView passing in the GUID of the logical view that was passed into the rguidLogicalView parameter of InitializeEditorInstance. This determines which view is activated when the editor window is shown when the editor is instantiated.
By specifying the logical view GUID, the caller of InitializeEditorInstance is able to request the specific view that matches the reason the caller is requesting the view. For example, the caller would specify LOGVIEWID_Debugging to get the view appropriate for debugging view, or LOGVIEWID_TextView to get the view appropriate for the text editor (that is, a view that implements IVsCodeWindow).
The Visual Studio Environment SDK does not limit developers to any particular implementation of multiple view. A VSPackage might implement a multiview document as split-screen, tabbed or other type of display.
The environment SDK itself does not provide native support for the various types of displays. The specific implementation a given type of display requires is done through standard windows programming.
Notes to Implementers:
A VSPackage should implement IVsMultiViewDocumentView when it supports multiple types of views of the same underlying data. Implement on the document view object to support multiple tabs on the same view, like the HTML editor's "Design" and "HTML" tabs.