Compartilhar via


Introdução às extensões de editor e serviço de idioma

Você pode usar extensões de editor para adicionar recursos de serviço de idioma, como estrutura de tópicos, correspondência de chaves, IntelliSense e lâmpadas à sua própria linguagem de programação ou a qualquer tipo de conteúdo. Você também pode personalizar a aparência e o comportamento do editor do Visual Studio, por exemplo, coloração de texto, margens, adornos e outros elementos visuais. Você também pode definir seu próprio tipo de conteúdo e especificar a aparência e o comportamento dos modos de exibição de texto nos quais o conteúdo aparece.

Para começar a escrever extensões de editor, use os modelos de projeto do editor que são instalados como parte do SDK do Visual Studio. O SDK do Visual Studio é um conjunto baixável de ferramentas que facilitam o desenvolvimento de extensões do Visual Studio, usando VSPackages ou usando o Managed Extensibility Framework (MEF).

Observação

Para obter mais informações sobre o SDK do Visual Studio, consulte SDK do Visual Studio.

Recomendamos que você aprenda sobre os seguintes conceitos e tecnologias antes de escrever suas próprias extensões de editor.

O Windows Presentation Foundation (WPF) e as extensões do editor

A interface do usuário (UI) do editor do Visual Studio é implementada usando o Windows Presentation Foundation (WPF). O WPF fornece uma experiência visual rica e um modelo de programação consistente que separa os aspectos visuais do código da lógica de negócios. Você pode usar muitos elementos e recursos do WPF ao criar extensões de editor. Para obter mais informações, consulte Windows Presentation Foundation.

O Managed Extensibility Framework (MEF) e as extensões do editor

O editor do Visual Studio usa o Managed Extensibility Framework (MEF) para gerenciar seus componentes e extensões. O MEF também permite que os desenvolvedores criem extensões mais facilmente para um aplicativo host como o Visual Studio. Nessa estrutura, você define uma extensão de acordo com um contrato MEF e a exporta como uma parte componente MEF. O aplicativo host gerencia as partes do componente localizando-as, registrando-as e certificando-se de que elas sejam aplicadas ao contexto correto.

Observação

Para obter mais informações sobre o MEF no editor, consulte Managed Extensibility Framework no editor.

Pontos e extensões de extensão do editor do Visual Studio

Os pontos de extensão do editor são partes do componente MEF que você pode personalizar e estender. Em alguns casos, você estende o ponto de extensão implementando uma interface e exportando-a junto com os metadados corretos. Em outros casos, basta declarar uma extensão e exportá-la como um tipo específico.

A seguir estão alguns dos tipos básicos de extensões de editor:

  • Margens e barras de rolagem

  • Marcações

  • Adornos

  • Opções

  • IntelliSense

    Para obter mais informações sobre pontos de extensão do editor, consulte Serviço de idioma e pontos de extensão do editor.

Implantando extensões do editor

No Visual Studio, você implanta extensões de editor adicionando um arquivo de metadados chamado source.extension.vsixmanifest à solução, criando a solução e, em seguida, adicionando uma cópia dos arquivos binários e do manifesto em uma pasta conhecida pelo Visual Studio. O arquivo de manifesto define os fatos básicos sobre a extensão (por exemplo, nome, autor, versão e tipo de conteúdo). Para obter mais informações sobre o arquivo de manifesto VSIX e como implantar extensões, consulte Enviar extensões do Visual Studio.

Quando você instala uma extensão em um computador, inclua os binários e o manifesto em uma subpasta de pasta que é conhecida pelo Visual Studio.

Aviso

Você não precisa se preocupar com os detalhes de manifestos e locais de implantação se você usar um dos modelos de extensibilidade do editor que estão incluídos no Visual Studio. Os modelos contêm tudo o que é necessário para registrar e implantar uma extensão.

Executar extensões na instância experimental

Você pode isolar sua versão de trabalho do Visual Studio enquanto estiver desenvolvendo uma extensão, implantando-o na seguinte pasta experimental (no Windows Vista e Windows 7):

{%LOCALAPPDATA%}\VisualStudio\10.0Exp\Extensions\{Company}\{ExtensionID}

onde %LOCALAPPDATA% é o nome do usuário conectado, Company é o nome da empresa proprietária da extensão e ExtensionID é a ID da extensão.

Quando você implanta uma extensão no local experimental, ela é executada no modo de depuração. Uma segunda instância do Visual Studio é iniciada e é chamada Microsoft Visual Studio - Instância Experimental.

Gerenciar extensões

As extensões para o Visual Studio estão listadas em extensões e atualizações (no menu Ferramentas). Se você estiver testando uma extensão na instância experimental, ela será listada em Extensões e Atualizações na instância experimental, mas não estará listada na instância de desenvolvimento.

Para obter mais informações, consulte Localizar e usar extensões do Visual Studio.

Usar modelos para criar extensões de editor

Você pode usar modelos de editor para criar extensões MEF que personalizam classificadores, adornos e margens. Há modelos para projetos C# e Visual Basic. Para obter mais informações, consulte Criar uma extensão com um modelo de item do editor.

Você também pode usar o modelo Projeto VSIX para criar extensões. Este modelo fornece apenas os elementos necessários para implantar qualquer tipo de extensão e inclui o arquivo source.extension.vsixmanifest , as referências de assembly necessárias e um arquivo de projeto que inclui as tarefas de compilação que permitem implantar a extensão. Para obter mais informações, consulte Modelo de projeto do VSIX.

Você também pode criar componentes MEF editor de uma extensão de pacote do Visual Studio. Consulte as seguintes instruções passo a passo para obter detalhes: