Share via


Usando o Editor de modelos para criar extensões

Você pode usar os modelos que estão incluídos na Visual Studio 2010 SDK para criar extensões editor básico que adicionam classificadores, ornamentos e margens para o editor.

Pré-requisitos

Para usar o editor de modelos de extensão, você deve instalar o Visual Studio 2010 SDK.

Dica

Para obter mais informações sobre o SDK de Visual Studio, consulte Ampliando a visão geral de Visual Studio.Para descobrir como fazer o download do SDK do Visual Studio, consulte Visual Studio extensibilidade Developer Center no site do MSDN.

Criando uma extensão do classificador

O modelo do classificador de Editor cria um classificador de editor que cores o texto apropriado (neste caso, tudo) em qualquer arquivo de texto.

Para criar uma extensão de classificador usando o modelo do classificador de Editor

  1. Sobre o arquivo , aponte para New e, em seguida, clique em Novo projeto. No Novo projeto caixa de diálogo caixa, expanda Visual C# ou Visual Basic e, em seguida, clique em extensibilidade. No modelos de painel, selecione Editor classificador. No nome , digite TestClassifier. Clique em OK.

    O projeto de TestClassifier é aberto.

  2. Abra o arquivo source.extension.vsixmanifest e editá-lo da seguinte maneira:

    • Nome do produto: TestClassifier

    • Autor: Fabrikam

    • Versão: 1.0

    • Descrição: é uma extensão do classificador de teste.

    Não altere a identificação. Ele é gerado automaticamente.

  3. O conteúdo cabeçalho Especifica o tipo de conteúdo neste projeto (diretório de modelos de projeto, diretório de modelos de Item, Assistente de modelo, VSPackage, componente MEF ou tipo de extensão personalizada). Um projeto pode conter um ou mais tipos de conteúdo, por exemplo, um VSPackage e um componente MEF. Essa extensão é um componente MEF e o conteúdo é definido em TestClassifier.

  4. Há três arquivos de código, da seguinte maneira:

    • TestClassifierType contém o OrdinaryClassificationType classe.

    • TestClassifierFormat contém o OrdinaryFormat classe.

    • TestClassifier contém o OrdinaryClassifier classe e o OrdinaryClassifierProvider classe.

  5. O OrdinaryClassificationType exportações de classe a ClassificationTypeDefinitione define o texto que deve ser formatada (no caso, todo o texto). Essa classe é exportada junto com o NameAttribute, que é usado para identificar este classificador. Para obter mais informações sobre classificações, consulte a seção "Estendendo classificação tipos e classificação formatos" Pontos de extensão do Editor.

  6. O OrdinaryFormat classe herda a partir de ClassificationFormatDefinitione define os efeitos visuais que a formatação produzirá, nesse caso, um BlueViolet cor da fonte e um Underline. Essa classe deve ser exportada como um EditorFormatDefinition tipo. Você pode especificar se a formatação é visível para o usuário por meio de UserVisibleAttribute, e você pode especificar a ordem em que a formatação será aplicada ao texto usando OrderAttribute.

  7. O OrdinaryClassifier classe implementa o GetClassificationSpans método identifica o texto que deve ser classificados usando o classificador "comum" (em todo o texto, neste caso).

  8. O OrdinaryClassifierProvider classe herda de IClassifierProvidere implementa o GetClassifier método, que instancia o classificador. Essa classe é exportada junto com o ContentTypeAttribute, que especifica o tipo de conteúdo (texto, código ou assim por diante) ao qual se aplica este classificador. Ela também leva a TextViewRoleAttribute, que especifica o tipo de modo de exibição de texto, que pode ser qualquer um dos valores de PredefinedTextViewRoles.

  9. Quando você cria essa solução, cópias do assembly e manifesto serão colocadas no diretório experimental.

  10. Ao executar este projeto no depurador, uma segunda instância do Visual Studio é instanciada. Se você abrir um arquivo de texto, todo o texto é exibido como sublinhado contra um plano de fundo violeta.

Criando uma extensão de adorno relativa ao texto

O modelo de adorno de texto do Editor cria um adorno relativo ao texto que decora todas as instâncias do caractere de texto 'a' usando uma caixa que tem um contorno vermelho e um plano de fundo azul. Ele é relativo ao texto porque a caixa sempre sobreposições 'a' caracteres, mesmo quando forem movidos ou reformatados.

Para criar uma extensão de adorno de texto usando o modelo de adorno de texto do Editor

  1. Sobre o arquivo , aponte para New e, em seguida, clique em Novo projeto. No Novo projeto caixa de diálogo caixa, expanda Visual C# ou Visual Basic e, em seguida, clique em extensibilidade. No modelos de painel, selecione Adorno do Editor de texto. No nome , digite TestTextAdornment. Clique em OK.

    O projeto de TestTextAdornment é aberto.

  2. Abra o arquivo source.extension.vsixmanifest e editá-lo da seguinte maneira:

    • Nome do produto: TestTextAdornment

    • Autor: Fabrikam

    • Versão: 1.0

    • Descrição: é uma extensão de adorno relativo ao texto do teste.

    Não altere a identificação. Ele é gerado automaticamente.

  3. O conteúdo cabeçalho Especifica o tipo de conteúdo neste projeto. Essa extensão é um componente MEF e o conteúdo é definido em TestTextAdornment.

  4. Existem dois arquivos de código, da seguinte maneira:

    • TestTextAdornment contém o ScarletCharacter classe.

    • TestTextAdornmentFactory contém o EditorAdornmentFactory classe.

  5. O ScarletCharacter classe fornece recursos de interface (UI) do adorno em seu construtor e alças do usuário a LayoutChanged evento encontrando todas as ocorrências do caractere 'a' na IWpfTextView e adicionando o adorno ScarletCharacter.

  6. O EditorAdornmentFactory classe herda de IWpfTextViewCreationListener e implementa o TextViewCreated método instanciando o adorno. Essa classe também declara o AdornmentLayerDefinition que corresponde de adorno ScarletCharacter e exporta-junto com o NameAttribute, OrderAttribute, e TextViewRoleAttribute.

  7. Quando você cria essa solução, cópias do assembly e manifesto serão colocadas no diretório experimental.

  8. Ao executar este projeto no depurador, uma segunda instância do Visual Studio é instanciada. Se você abrir um arquivo de texto, o 'a' caracteres no texto são exibidos conforme descrito em vermelho contra um plano de fundo azul.

Criando uma extensão de adorno relativos à porta de visualização

O modelo de adorno de visor do Editor cria um adorno relativos à porta de visualização que adiciona uma caixa de violeta que tem um contorno vermelho no canto superior direito dessa porta.

Dica

O visor é a área do modo de exibição de texto que está sendo exibido.

Para criar uma extensão de adorno do visor, usando o modelo de adorno de visor do Editor

  1. Sobre o arquivo , aponte para New e, em seguida, clique em Novo projeto. No Novo projeto caixa de diálogo caixa, expanda Visual C# ou Visual Basic e, em seguida, clique em extensibilidade. No modelos de painel, selecione Adorno de visor do Editor de. No nome , digite TestViewportAdornment. Clique em OK.

    O projeto de TestViewportAdornment é aberto.

  2. Abra o arquivo source.extension.vsixmanifest e editá-lo da seguinte maneira:

    • Nome do produto: TestViewportAdornment

    • Autor: Fabrikam

    • Versão: 1.0

    • Descrição: é uma extensão de adorno relativos à porta de visualização de teste.

    Não altere a identificação. Ele é gerado automaticamente.

  3. O conteúdo cabeçalho Especifica o tipo de conteúdo neste projeto. Essa extensão é um componente MEF e o conteúdo é definido em TestViewportAdornment.

  4. Existem dois arquivos de código, da seguinte maneira:

    • TestViewportAdornment contém o PurpleCornerBox classe

    • TestViewportAdornmentFactory contém o AdornmentFactory classe

  5. O PurpleCornerBox classe fornece os recursos de interface do usuário do adorno em seu construtor e alças de ViewportHeightChanged e ViewportWidthChanged eventos, excluindo e adicionar novamente o adorno no canto superior direito de seu.

  6. O AdornmentFactory classe herda de IWpfTextViewCreationListenere implementa o TextViewCreated método instanciando o adorno. Essa classe também declara o AdornmentLayerDefinition que corresponde de adorno PurpleCornerBox e exporta-junto com o NameAttribute, OrderAttribute, e TextViewRoleAttribute.

  7. Quando você cria essa solução, cópias do assembly e manifesto serão colocadas no diretório experimental.

  8. Ao executar este projeto no depurador, uma segunda instância do Visual Studio é instanciada. Se você abrir um arquivo de texto, uma caixa de violeta que tem um contorno vermelho é exibida no canto superior direito dessa porta.

Criando uma extensão de margem

O modelo de margem de Editor cria uma margem verde que aparece junto com a palavras "Hello world!" abaixo da barra de rolagem horizontal.

Para criar uma extensão de margem, usando o modelo de margem do Editor

  1. Sobre o arquivo , aponte para New e, em seguida, clique em Novo projeto. No Novo projeto caixa de diálogo caixa, expanda Visual C# ou Visual Basic e, em seguida, clique em extensibilidade. No modelos de painel, selecione Editor margem. No nome , digite TestMargin. Clique em OK.

    O projeto de TestMargin é aberto.

  2. Abra o arquivo source.extension.vsixmanifest e editá-lo da seguinte maneira:

    • Nome do produto: TestMargin

    • Autor: Fabrikam

    • Versão: 1.0

    • Descrição: é uma extensão de margem de teste.

    Não altere a identificação. Ele é gerado automaticamente.

  3. O conteúdo cabeçalho Especifica o tipo de conteúdo neste projeto. Essa extensão é um componente MEF e o conteúdo é definido em TestMargin.

  4. Existem dois arquivos de código, da seguinte maneira:

    • TestMargin contém o GreenMargin classe.

    • TestMarginFactory contém o MarginFactory classe.

  5. O GreenMargin classe herda de Canvas e implementa IWpfTextViewMargin. Ele fornece os recursos de interface do usuário da margem em seu construtor.

  6. O MarginFactory classe implementa IWpfTextViewMarginProvidere sua implementação da CreateMargin método percorre a margem. This class is exported together with the NameAttribute, OrderAttribute, MarginContainerAttribute, ContentTypeAttribute, and TextViewRoleAttribute.

  7. Quando você cria essa solução, cópias do assembly e manifesto serão colocadas no diretório experimental.

  8. Ao executar este projeto no depurador, uma segunda instância do Visual Studio é instanciada. Se você abrir um arquivo de texto, uma margem verde que tem as palavras "Hello world!" é exibida abaixo da barra de rolagem horizontal.

Consulte também

Conceitos

Pontos de extensão do Editor