Visão geral das ferramentas de linguagem específica de domínio

Ferramentas de linguagem específica do domínio (ferramentas de DSL), que são hospedados em Visual Studio, permita que você projetar uma linguagem específica de domínio e, em seguida, gerar tudo o que os usuários devem ter para criar modelos que são baseados na linguagem.

As seguintes ferramentas estão incluídas nas ferramentas de DSL:

  • Um Assistente de projeto que usa os modelos de soluções diferentes para ajudá-lo a começar a desenvolver sua linguagem específica de domínio.

  • Um designer gráfico para criar e editar a definição de linguagem específica de domínio.

  • Um mecanismo de validação que certifica-se de que a definição de linguagem específica de domínio está bem formada e exibe erros e avisos, se houver problemas.

  • Um gerador de código que usa uma definição de linguagem específica de domínio como entrada e produz um código-fonte como saída.

A solução de ferramentas DSL

O Assistente de Designer específicas de domínio fornece os seguintes modelos de solução:

  • Fluxo de tarefas

  • Diagramas de classe

  • Idioma mínimo

  • Modelos de componente

  • WPF mínimo

  • Mínimo Windows.Forms

  • Biblioteca DSL

Para obter mais informações, consulte Escolha de um modelo de solução de linguagem específica do domínio.

O assistente cria um Visual Studio solução que tem os seguintes projetos:

  • DSL

    O projeto de Dsl define a linguagem específica de domínio e suas ferramentas de edição e o processamento.

  • DslPackage

    O projeto de DslPackage determina como as ferramentas de linguagem se integra com Visual Studio.

A Interface gráfica de ferramentas DSL

Você pode usar a interface gráfica de ferramentas DSL para adicionar elementos e relações para sua linguagem específica de domínio.Depois de ter adicionado os elementos, você pode definir sua aparência, mapeando-os às formas, personalizando as cores e adicionando decoradores.Você também pode adicionar elementos à caixa de ferramentas.

Validação em ferramentas DSL

DSL fornece um nível de validação para certificar-se de que o modelo de domínio atende aos requisitos básicos para geração de código.Normalmente, quando você cria sua própria linguagem específica de domínio, você adicionaria sua própria validação para expressar suas regras de lógica de negócios.Para obter mais informações sobre a validação personalizada, consulte Validação em um idioma específico do domínio.

Recomendamos que você valide sua linguagem específica de domínio com freqüência quando estiver criando.Se sua linguagem específica de domínio tiver erros de validação, você não pode gerar código-fonte.O processo de geração de código-fonte dos modelos é realizado clicando em Transformar todos os modelos de na barra de ferramentas do Solution Explorer.Sempre que você modifica a definição de idioma, certifique-se de Transformar todos os modelos de.Para obter mais informações, consulte Como: criar uma solução de linguagem específica do domínio.

Personalização das ferramentas DSL

Você pode fornecer código adicional para refinar o comportamento do modelo e definir restrições sobre o seu idioma.Se necessário, você pode fazer alterações significativas, modificando os modelos de texto.

Distribuindo sua solução DSL

Ferramentas DSL gera um pacote que está hospedado no Visual Studio.O pacote exibe uma caixa de ferramentas, um explorer DSL e outros elementos de interface do usuário que permitem aos usuários criar modelos usando sua linguagem específica de domínio.

Quando você compilar e executar a solução de ferramentas DSL Visual Studio, uma segunda instância do Visual Studio mostra a aparência da sua linguagem específica de domínio para o usuário do idioma. Depois de verificar se tudo está funcionando corretamente, você pode distribuir o .vsix o arquivo que você encontrará na pasta build do projeto DslPackage.Esse arquivo pode ser usado para instalar o DSL como um Visual Studio a extensão em outros computadores.Para obter mais informações, consulte Implantação de soluções de linguagem específica do domínio.

Consulte também

Conceitos

Instância experimental do Visual Studio

Outros recursos

Domain-Specific Language Tools Glossary