IVsProjectSpecificEditorMap2.GetSpecificEditorProperty(String, Int32, Object) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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.