Como: criar marcadores de texto personalizado
Se você deseja criar um marcador de texto personalizado para enfatizar ou organizar código, você deve tomar as seguintes etapas:
Registrar o novo marcador de texto, de forma que outras ferramentas podem acessá-lo
Fornecer uma implementação padrão e a configuração do marcador de texto
Criar um serviço que pode ser usado por outros processos para fazer uso do marcador de texto
Para obter detalhes sobre como aplicar um marcador de texto em uma região de código, consulte Como: usar marcadores de texto.
Para registrar um marcador personalizado
Crie uma entrada de registro da seguinte maneira:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version>\Text Editor\External Markers\<MarkerGUID>
<MarkerGUID>é um GUID usado para identificar o marcador que está sendo adicionado
<Version> é a versão do Visual Studio, por exemplo 8.0
<PackageGUID> é o GUID do VSPackage implementa o objeto de automação.
Dica
O caminho de raiz do HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version> pode ser substituída por uma raiz alternativa quando o shell de Visual Studio é inicializado, para obter mais informações, consulte Opções de linha de comando (Visual Studio SDK).
Criar quatro valores em HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version>\Text Editor\External Markers\<MarkerGUID>
(Padrão)
Serviço
DisplayName
Pacote
Defaulté uma entrada opcional do tipo REG_SZ. Quando definido, o valor da entrada é uma seqüência de caracteres contendo algumas informações de identificação útil, por exemplo "marcador de texto personalizado".
Serviceé uma entrada do tipo REG_SZ que contém a seqüência de caracteres GUID do serviço que fornece o marcador de texto personalizado, proffering IVsTextMarkerTypeProvider. O formato é {XXXXXXXXX de XXXX XXXXXX XXXX XXXX}.
DisplayNameé uma entrada do tipo REG_SZ contendo a identificação do recurso do nome do marcador de texto personalizado. O formato é #YYYY.
Packageé a entrada de conter do tipo REG_SZ a GUID de VSPackage que fornece o serviço listado em serviço. O formato é {XXXXXXXXX de XXXX XXXXXX XXXX XXXX}.
Para criar um marcador de texto personalizado
Implementar a interface IVsPackageDefinedTextMarkerType.
A implementação desta interface define o comportamento e a aparência do seu tipo de marcador personalizado.
Essa interface é chamada quando
Um usuário inicia o IDE pela primeira vez.
Um usuário seleciona a Redefinir padrões botão na fontes e cores página de propriedades no ambiente pasta, no painel esquerdo da Opções obtido de caixa de diálogo o Ferramentas menu do IDE.
Implementar a GetTextMarkerType método, especificando que IVsPackageDefinedTextMarkerType implementação deve ser retornada com base no tipo de marcador GUID especificada na chamada do método.
O ambiente chama esse tempo de método, o primeiro tipo de marcador personalizado é criado e especifica um GUID que identifica o tipo de marcador personalizado.
Para proffer o seu tipo de marcador como um serviço.
Chamar o QueryService método para SProfferService.
Um ponteiro para IProfferService é retornado.
Chamar o ProfferService método, especificando o GUID que identifica o serviço de tipo personalizado de marcador e fornecendo um ponteiro para a implementação da IServiceProvider interface. O IServiceProvider implementação deve retornar um ponteiro para a implementação do IVsTextMarkerTypeProvider interface.
Um cookie exclusivo identificando que seu serviço será retornado. Você pode usar posteriormente esse cookie para revogar o seu serviço de tipo de marcador personalizado chamando o RevokeService método da IProfferService interface especificando o valor do cookie.
Consulte também
Tarefas
Como: adicionar marcadores de texto padrão
Como: implementar marcadores de erro
Conceitos
Como: usar marcadores de texto