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). Если ни в каких проектах не удается обслуживать файл, а проект "Прочие файлы" отсутствует, среда создает проект "Прочие файлы" и пытается повторить попытку.