Поделиться через


IVsAsyncShellOpenDocument.OpenDocumentViaProjectWithSpecificAsync Метод

Определение

Находит указанный проект для открытия этого документа.

public Microsoft.VisualStudio.Shell.Interop.IVsTask OpenDocumentViaProjectWithSpecificAsync (string documentMoniker, uint specificEditorFlags, Guid editorType, string? physicalView, Guid logicalView);
abstract member OpenDocumentViaProjectWithSpecificAsync : string * uint32 * Guid * string * Guid -> Microsoft.VisualStudio.Shell.Interop.IVsTask
Public Function OpenDocumentViaProjectWithSpecificAsync (documentMoniker As String, specificEditorFlags As UInteger, editorType As Guid, physicalView As String, logicalView As Guid) As IVsTask

Параметры

documentMoniker
String

Строковая форма уникального идентификатора моникера документа в системе проектов, например полный путь к файлу. В случаях, когда документ не является файлом, этот идентификатор часто имеет вид URL-адреса.

specificEditorFlags
UInt32

Флаги, значения которых взяты из перечисления __VSSPECIFICEDITORFLAGS.

editorType
Guid

Уникальный идентификатор типа редактора.

physicalView
String

Уникальный идентификатор физического представления.

logicalView
Guid

Объект , Guid определяющий логическое представление. По умолчанию используется представление , VSConstants.LOGVIEWID_Primary и каждый редактор должен поддерживать это представление.

Если редактор реализует IVsMultiViewDocumentView в объекте представления документа, значение, передаваемое в ActivateLogicalView(Guid), определяет, какое представление активируется при отображении окна редактора.

Указав логическое представление Guid, можно запросить конкретное представление, соответствующее причине запроса представления. Например, укажите VSConstants.LOGVIEWID_Debugging для получения представления, подходящего для отладки, или VSConstants.LOGVIEWID_TextView для получения представления, подходящего для текстового редактора (т. е. представления, которое реализует IVsCodeWindow).

Возвращаемое значение

Задача, представляющая операцию открытия. Результатом задачи является IVsAsyncOpenDocumentResult объект .

Комментарии

Задача, возвращаемая этим методом, не указывает, что представление документа и данные docdata были загружены. Дополнительные сведения см. в статье DocumentLoadTask.

Этот метод используется пакетами VSPackage, которые не являются проектами, которые должны открывать документ в определенном редакторе, но не заботятся о том, какой проект открывает файл. Чтобы вызвать этот метод из VSPackage, необходимо точно знать, какую фабрику редактора вы хотите и какое именно окно должна создать фабрика редактора (то есть физическое представление). Логическое представление, указанное в параметре logicalView , позволяет указать, какая вкладка должна отображаться редактором, если редактор реализует IVsMultiViewDocumentView.

Этот метод вызывает OpenItem(UInt32, Guid, IntPtr, IVsWindowFrame). Если ни в каких проектах не удается обслуживать файл, а проект "Прочие файлы" отсутствует, среда создает проект "Прочие файлы" и пытается повторить попытку.

Применяется к