IVsAsyncShellOpenDocument.OpenStandardEditorAsync Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Opens a file using the standard editor. It will first determine whether a default editor factory for the file is already configured. If a default is not already configured, then it will loop through a priority-sorted list of editor factories to find the first one that supports the document. An exception is thrown if the document cannot be opened.
public Microsoft.VisualStudio.Shell.Interop.IVsTask OpenStandardEditorAsync (uint openStandardEditorFlags, string documentMoniker, Guid logicalView, string? ownerCaption, Microsoft.VisualStudio.Shell.Interop.IVsUIHierarchy? hierarchy, uint itemId, bool shouldGetDocDataFromRdt, object? docData, Microsoft.VisualStudio.OLE.Interop.IServiceProvider serviceProvider);
abstract member OpenStandardEditorAsync : uint32 * string * Guid * string * Microsoft.VisualStudio.Shell.Interop.IVsUIHierarchy * uint32 * bool * obj * Microsoft.VisualStudio.OLE.Interop.IServiceProvider -> Microsoft.VisualStudio.Shell.Interop.IVsTask
Public Function OpenStandardEditorAsync (openStandardEditorFlags As UInteger, documentMoniker As String, logicalView As Guid, ownerCaption As String, hierarchy As IVsUIHierarchy, itemId As UInteger, shouldGetDocDataFromRdt As Boolean, docData As Object, serviceProvider As IServiceProvider) As IVsTask
Parameters
- openStandardEditorFlags
- UInt32
Flags whose values are taken from the __VSOSEFLAGS or __VSOSEFLAGS2 enumeration.
- documentMoniker
- String
String form of the unique moniker identifier of the document in the project system, for example, the full path to the file. In non-file cases, this identifier is often in the form of a URL.
- logicalView
- Guid
A Guid identifying the logical view. The default view is VSConstants.LOGVIEWID_Primary
and every editor must support that view.
If the editor implements IVsMultiViewDocumentView on the document view object, then the value passed to ActivateLogicalView(Guid), which determines which view is activated when the editor window is shown.
By specifying the logical view Guid, you can request the specific view that matches the reason you are requesting the view.
For example, specify VSConstants.LOGVIEWID_Debugging
to get the view appropriate for debugging, or VSConstants.LOGVIEWID_TextView
to get the view
appropriate for the text editor (that is, a view that implements IVsCodeWindow).
- ownerCaption
- String
Initial caption defined by the document owner (that is, the project) for the document window. This is often of the form: "ProjectName – ItemName."
- hierarchy
- IVsUIHierarchy
A reference to the IVsUIHierarchy that owns the document.
- itemId
- UInt32
The UI hierarchy item identifier of the standard editor. For more information see VSConstants.VSITEMID
.
- shouldGetDocDataFromRdt
- Boolean
If true
, then the environment will use the doc data object obtained from the Running Document Table;
otherwise, the service will open the document using the doc data passed in to docData
.
- docData
- Object
A reference to the document data object of the item to open or null
. This value passed into this parameter is ignored
if shouldGetDocDataFromRdt
is true
.
- serviceProvider
- IServiceProvider
A reference to the IServiceProvider.
Returns
A task representing that the open operation has started.
The result of the task is a reference to an IVsAsyncOpenDocumentResult, if the document was opened within the environment; otherwise, null
.
Remarks
The task returned by this method does not indicate that the document's view and docdata have been loaded. See DocumentLoadTask for more details.
This method uses the result of CreateEditorInstance(UInt32, String, String, IVsHierarchy, UInt32, IntPtr, IntPtr, IntPtr, String, Guid, Int32) to determine whether it should continue looping to the next editor in the list to find a supported editor factory. Specifically, it should return one of the following: 1. S_OK
to indicate that it should stop looping if the editor supports the file and was successfully initialized 2. "VS_E_UNSUPPORTEDFORMAT"
to indicate that it should continue looping if the editor does not support the provided doc data 3. Any other error code to indicate that it should stop looping.
This method must be accessed on the main thread.