IVsProjectSpecificEditorMap2.GetSpecificEditorProperty(String, Int32, Object) Метод

Определение

Возвращает свойства, связанные с редакторами конкретного проекта и диалоговым окном Открыть с помощью.

public:
 int GetSpecificEditorProperty(System::String ^ pszMkDocument, int propid, [Runtime::InteropServices::Out] System::Object ^ % pvar);
int GetSpecificEditorProperty(std::wstring const & pszMkDocument, int propid, [Runtime::InteropServices::Out] winrt::Windows::Foundation::IInspectable const & & pvar);
public int GetSpecificEditorProperty (string pszMkDocument, int propid, out object pvar);
abstract member GetSpecificEditorProperty : string * int * obj -> int
Public Function GetSpecificEditorProperty (pszMkDocument As String, propid As Integer, ByRef pvar As Object) As Integer

Параметры

pszMkDocument
String

[in] Строковый формат уникального идентификатора моникера документа в системе проектов.

propid
Int32

[in] Если значение равно VSPSEPROPID_UseGlobalEditorByDefault (false), пользователь решил открыть файл в сведениях зависящего от проекта редакторе, указанных в диалоговом окне "Открыть с помощью". Если VSPSEPROPID_UseGlobalEditorByDefault (true), глобальный редактор был выбран. Для получения дополнительной информации см. __VSPSEPROPID.

pvar
Object

[out, retval] Указатель на значение VARIANT, содержащее значение свойства.

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

Int32

Если метод завершается успешно, возвращает значение S_OK. В противном случае функция возвращает код ошибки.

Комментарии

Подпись COM

Из всшелл. IDL:

HRESULT IVsProjectSpecificEditorMap2::GetSpecificEditorProperty(  
   [in] LPCOLESTR pszMkDocument,  
   [in] VSPSEPROPID propid,  
   [out, retval] VARIANT *pvar  
);  

Если вы поддерживаете VSPSEPROPID_UseGlobalEditorByDefault свойство и возвращаете true , то по умолчанию используется глобальный редактор. Если false, проектный редактор используется по умолчанию. Если это свойство поддерживается, то в <project default editor> диалоговое окно Открыть с помощью добавляется запись "". Эта запись всегда размещается в верхней части диалогового окна Открыть с помощью . Чтобы задать для этой строки значение, отличное от " <project default editor> ", support IVsProjectSpecificEditorMap::GetSpecificEditorProperty ( VSPSEPROPID_ProjectDefaultEditorName ). Задание этого свойства является необязательным.

Предполагается, что проект будет сохранен (на уровне каждого пользователя или на компьютере или на уровне файла в реестре в разделе HKEY_CURRENTUSER), следует ли использовать глобальный стандартный редактор или редактор для конкретного проекта. Затем проект использует эти сведения, чтобы определить, следует ли вызывать OpenStandardEditor или OpenSpecificEditor открывать элемент проекта.

Ниже приведен сложный сценарий, который можно выполнить с помощью этого подхода. Имеется система проектов, которая имеет специальную обработку для XML-файлов. То есть система проектов предоставляет специальные возможности редактирования XML-файлов. Пользователь может выбрать использование специального (предпочитаемого проектом) редактора для XML-файлов или с помощью глобально определенного редактора. Пользователь выбирает открытие XML-файла в текстовом редакторе. Для этого они задают текстовый редактор в качестве редактора по умолчанию в диалоговом окне Открыть с помощью . Затем, когда пользователь дважды щелкает XML-файл в проекте, текстовый редактор открывает файл.

Позже пользователь переходит к другому проекту (например, к проекту прочих файлов), щелкает файл правой кнопкой мыши и устанавливает редактор XML в качестве редактора по умолчанию для XML-файлов. Если пользователь возвращается к исходному проекту и дважды щелкает XML-файл, файл теперь открывается в редакторе XML, а не в текстовом редакторе. Однако если изначально пользователь решил, что система проектов по умолчанию должна использовать редактор XML, то независимо от того, какой именно редактор задан в качестве глобального редактора, XML-файлы в этом проекте будут открываться с помощью редактора для конкретного проекта, который был установлен в качестве редактора по умолчанию для проекта. Системы проектов VB и C# предоставляют специальные редакторы для различных типов файлов.

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