Método IVsProjectSpecificEditorMap2.GetSpecificEditorProperty (String, Int32, Object)
Obtém propriedades relacionadas a editores específicos do projeto e o Abrir com caixa de diálogo.
Namespace: Microsoft.VisualStudio.Shell.Interop
Assembly: Microsoft.VisualStudio.Shell.Interop (em Microsoft.VisualStudio.Shell.Interop.dll)
Sintaxe
int GetSpecificEditorProperty(
string pszMkDocument,
int propid,
out object pvar
)
int GetSpecificEditorProperty(
String^ pszMkDocument,
int propid,
[OutAttribute] Object^% pvar
)
abstract GetSpecificEditorProperty :
pszMkDocument:string *
propid:int *
pvar:Object byref -> int
Function GetSpecificEditorProperty (
pszMkDocument As String,
propid As Integer,
<OutAttribute> ByRef pvar As Object
) As Integer
Parâmetros
- pszMkDocument
[in] Formulário do identificador exclusivo do identificador de origem do documento em seqüência no sistema de projeto.
- propid
[in] Se for igual a VSPSEPROPID_UseGlobalEditorByDefault (false), em seguida, o usuário escolheu abrir o arquivo as informações específicas do projeto editor listado na caixa de diálogo Abrir com.Se VSPSEPROPID_UseGlobalEditorByDefault (true), e em seguida, o editor global foi escolhido.Para obter mais informações, consulte __VSPSEPROPID.
- pvar
[out, retval] Ponteiro para uma VARIANTE contendo o valor da propriedade.
Valor de retorno
Type: System.Int32
Se o método for bem-sucedido, ele retorna S_OK.Se ele falhar, ele retorna um código de erro.
Comentários
COM assinatura
De vsshell.idl:
HRESULT IVsProjectSpecificEditorMap2::GetSpecificEditorProperty(
[in] LPCOLESTR pszMkDocument,
[in] VSPSEPROPID propid,
[out, retval] VARIANT *pvar
);
Se você oferecer suporte a VSPSEPROPID_UseGlobalEditorByDefault propriedade e retorno de true, e em seguida, o editor global é usado por padrão.Se false, e em seguida, um editor específico do projeto é usado por padrão.Se você oferecer suporte a essa propriedade, então é adicionar uma entrada de "< editor padrão do projeto >" para o Abrir com caixa de diálogo.Essa entrada é sempre colocada na parte superior a Abrir com caixa de diálogo.Para definir essa seqüência de caracteres a ser algo diferente de "< editor padrão do projeto >", suporte a IVsProjectSpecificEditorMap::GetSpecificEditorProperty (VSPSEPROPID_ProjectDefaultEditorName).A definição dessa propriedade é opcional.
O projeto é esperado para persistir (em uma base de tipo de arquivo por usuário/por-máquina / no registro em HKEY_CURRENTUSER) se o editor padrão global ou o editor específicas do projeto deve ser usado.O projeto usa essas informações para saber se a chamada OpenStandardEditor ou OpenSpecificEditor ao abrir um item de projeto.
Este é um cenário complicado, você pode realizar com essa abordagem.Você tem um sistema de projeto que tenha um 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 usando o editor (projeto preferencial) especial para arquivos XML ou usando o editor definido globalmente.O usuário optar por abrir o arquivo XML no editor de texto.Para fazer isso, eles definiram o editor de texto como o editor padrão no Abrir com caixa de diálogo.Subseqüentemente, 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 Miscellaneous Files), clica com o botão direito no arquivo e define o editor de XML como o editor padrão para arquivos xml.Se o usuário retorna para o projeto original e clica duas vezes no arquivo xml, o arquivo agora abre no editor XML em vez do editor de texto.No entanto, se o usuário originalmente tinha decidido que o sistema do projeto deve usar o editor XML por padrão, em seguida, independentemente de qual editor é definido como o editor de global em outro lugar, os arquivos xml do que projeto poderia ser aberto usando o editor de projeto específico, o que foi definido como o editor padrão para o projeto.Tanto o VB e os sistemas de projeto C# fornecem editores especiais para vários tipos de arquivos.
Consulte também
Interface IVsProjectSpecificEditorMap2
Namespace Microsoft.VisualStudio.Shell.Interop
Retornar ao topo