IVsProjectSpecificEditorMap2.GetSpecificEditorProperty(String, Int32, Object) Método

Definição

Obtém as propriedades relacionadas a editores específicos do projeto e à caixa de diálogo abrir com.

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

Parâmetros

pszMkDocument
String

no Forma de cadeia de caracteres do identificador exclusivo do moniker do documento no sistema do projeto.

propid
Int32

no Se for igual a VSPSEPROPID_UseGlobalEditorByDefault ( false ), o usuário optou por abrir o arquivo nas informações de editor específicas do projeto listadas na caixa de diálogo abrir com. Se VSPSEPROPID_UseGlobalEditorByDefault ( true ), o editor global foi escolhido. Para obter mais informações, consulte __VSPSEPROPID.

pvar
Object

[out, retval] Ponteiro para uma variante que contém o valor da propriedade.

Retornos

Int32

Se o método for bem-sucedido, retornará S_OK. Se falhar, retornará um código de erro.

Comentários

Assinatura COM

De VSShell. idl:

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

Se você oferecer suporte à VSPSEPROPID_UseGlobalEditorByDefault propriedade e ao retorno true , o editor global será usado por padrão. Se false , em seguida, um editor específico do projeto será usado por padrão. Se você oferecer suporte a essa propriedade, uma <project default editor> entrada "" será adicionada à caixa de diálogo abrir com . Essa entrada é sempre colocada na parte superior da caixa de diálogo abrir com . Para definir essa cadeia de caracteres como algo diferente de " <project default editor> ", support IVsProjectSpecificEditorMap::GetSpecificEditorProperty ( VSPSEPROPID_ProjectDefaultEditorName ). A definição dessa propriedade é opcional.

Espera-se que o projeto persista (em uma base por usuário/por computador/por tipo de arquivo no registro em HKEY_CURRENTUSER) se o editor global padrão ou o editor específico do projeto deve ser usado. Em seguida, o projeto usa essas informações para saber se deve chamar OpenStandardEditor ou OpenSpecificEditor ao abrir um item de projeto.

Veja a seguir um cenário complicado que você pode realizar com essa abordagem. Você tem um sistema de projeto que tem tratamento especial para arquivos XML. Ou seja, o sistema do projeto fornece uma experiência de edição especial para arquivos XML. O usuário pode escolher entre usar o editor especial (preferencial do projeto) para arquivos XML ou usar o editor definido globalmente. O usuário escolhe abrir o arquivo XML no editor de texto. Para fazer isso, eles definem o editor de texto como o editor padrão na caixa de diálogo abrir com . Subsequentemente, quando um usuário clica duas vezes em um arquivo XML no projeto, o editor de texto abre o arquivo.

Posteriormente, o usuário vai para outro projeto (por exemplo, o projeto de arquivos diversos), clica com o botão direito do mouse no arquivo e define o editor de XML como o editor padrão para arquivos XML. Se o usuário retornar ao projeto original e clicar duas vezes no arquivo XML, o arquivo agora será aberto no editor de XML, e não no editor de texto. No entanto, se o usuário tivesse decidido originalmente que o sistema de projeto deveria usar o editor de XML por padrão, independentemente de qual editor está definido como o editor global em outro lugar, os arquivos XML nesse projeto seriam abertos usando o editor específico do projeto, que foi definido como o editor padrão do projeto. Tanto o VB quanto os sistemas de projeto C# fornecem editores especiais para vários tipos de arquivos.

Aplica-se a