Compartilhar via


Introdução ao Editor de extensões

Você pode usar o extensões de editor para personalizar a aparência e comportamento do editor do Visual Studio. Por exemplo, você pode adicionar novas cores de texto, margens, ornamentos e outros elementos visuais para um modo de exibição de texto. Você também pode definir seu próprio tipo de conteúdo e especificar a aparência e comportamento dos modos de exibição de texto em que o seu conteúdo aparece. Você pode adicionar recursos como, por exemplo, estrutura de tópicos, correspondência de chave, IntelliSense e marcas inteligentes a qualquer tipo de conteúdo.

Para começar a escrever extensões do editor, use os modelos de projeto do editor que são instalados como parte do SDK do Visual Studio. O SDK de Visual Studio é um conjunto para download de ferramentas que tornam mais fácil desenvolver extensões de Visual Studio, usando os VSPackages ou usando o Managed Extensibility Framework (MEF).

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.

Recomendamos que você conheça os seguintes conceitos e tecnologias antes de escrever suas próprias extensões do editor.

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

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

A estrutura de extensibilidade gerenciada (MEF) e extensões do Editor

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

Dica

Para obter mais informações sobre o MEF no editor, consulte Estrutura de extensibilidade gerenciada no Editor.

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

Pontos de extensão do editor são partes do componente MEF que você pode personalizar e estender. Em alguns casos você pode estender o ponto de extensão implementando uma interface e exportá-la juntamente com os metadados correto. Em outros casos basta declarar uma extensão e exportá-lo como um tipo específico.

Estes são alguns dos tipos básicos de extensões do editor:

  • Margens e barras de rolagem

  • Marcas

  • Ornamentos

  • Opções

  • IntelliSense

Para obter mais informações sobre pontos de extensão do editor, consulte Pontos de extensão do Editor.

Implantação de extensões do Editor

No Visual Studio, você pode implantar extensões do editor adicionando um arquivo de metadados, chamado source.extension.vsixmanifest à solução, compilar a solução, e adicionando uma cópia dos arquivos binários e o manifesto em uma pasta que é conhecida para 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 do VSIX e como implantar extensões, consulte Implantação de extensão do Visual Studio.

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

Aviso

Você não precisa se preocupar sobre os detalhes de manifestos e locais de implantação se você usar um dos modelos de extensibilidade de 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.

Executando as extensões na instância Experimental

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

% LOCALAPPDATA %\VisualStudio\10.0Exp\Extensions\empresa\ExtensionID

onde % LOCALAPPDATA % é o nome do usuário logado, empresa é o nome da empresa que possui a extensão, e ExtensionID é a identificação da extensão.

Quando você implanta uma extensão para o local experimental, ele é executado no modo de depuração. Uma segunda instância do Visual Studio é iniciada e é denominada Visual Studio da Microsoft - instância Experimental.

Usando o Gerenciador de extensão

Extensões Visual Studio são listadas na Extension Manager (sobre o Ferramentas menu, clique em Extension Manager). Se uma extensão para o local experimental para que você pode testá-lo antes de implantá-lo mais amplamente, ele é listado na Extension Manager na instância experimental, mas não está listado na instância de desenvolvimento.

Para obter mais informações sobre Extension Manager, consulte Gerenciando extensões e atualizações para Visual Studio.

Usando modelos para criar extensões do Editor

Você pode usar o editor de modelos para criar extensões MEF que personalizam classificadores, ornamentos e margens. Existem modelos para projetos C# e Visual Basic. Para obter mais informações, consulte Usando o Editor de modelos para criar extensões.

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

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

Consulte também

Conceitos

Pontos de extensão do Editor