MPS 2018.2: testes de gerador, plug-in GitHub, aspecto VCS, notificações de migração e muito mais

Recentemente, uma nova versão do MPS 2018.2 foi lançada com muitas mudanças aguardadas . Em resumo, nesta versão, você encontrará melhorias na migração, planos de nova geração, um plug-in GitHub e muito mais. Os detalhes estão abaixo.

imagem

Notificações de migração

Implementamos notificações de migração para informá-lo melhor sobre o que está acontecendo: agora você receberá uma notificação se o projeto depender de um idioma que, por algum motivo, não possa ser baixado ou se a migração estiver atrasada.

imagem

Um novo aspecto do VCS

Adicionamos um novo aspecto da linguagem VCS. Agora, em vez de criar anotações para a declaração de conceito, um aspecto do idioma é criado. Um aspecto é gerado para um código de tempo de execução específico. O aspecto VCS substitui a anotação MergeHints; a migração é fornecida.

Antes:

imagem

Agora:

imagem

Plug-in do Github

Implementado plug-in GitHub. Agora você pode efetuar login no GitHub da seguinte maneira: VCS → Finalizar compra no Controle de versão → Git → Efetuar login no GitHub ...

imagem

Testes de gerador

Além da família existente de testes para nós e do editor, implementamos um novo método para testar geradores. O desafio é confirmar que o gerador ou conjunto de geradores está realmente fazendo seu trabalho. O IDE suporta modos de execução dentro e fora do processo, bem como a execução dos scripts de construção do MPS Ant.

imagem

Filiais em planos de geração

O plano de geração tem um novo operador: garfo com. Ramifica a sequência de transformações em um determinado ponto. O modelo é transferido para o plano especificado no estado em que estava na etapa de ramificação e a conversão é executada normalmente. No exemplo acima, o modelo de entrada é primeiro transformado pelo gerador crossmodel.entity e o estado é registrado, depois, usando o gerador crossmodel.property # prop2class, o resultado é o modelo número 1. O gerador crossmodel.property # prop2xml converte o modelo gravado no modelo de saída nº 2. Observe que a palavra "então" aqui não significa um compromisso - não há garantias de que as ramificações serão processadas em qualquer ordem específica, exceto que a ramificação "principal" do plano original produzirá o "primeiro e único" modelo de saída, acessível por meio de API antiga (GenerationStatus # getOutputModel) para compatibilidade / migração.

imagem

Ramos em testes de geração

Os testes do gerador oferecem suporte a planos de geração com o operador de garfo e comparam todos os modelos de saída com os de origem fornecidos.

imagem

Esses e outros recursos do MPS 2018.2 são descritos em mais detalhes na página O que há de novo , você pode baixar a nova versão aqui .

Tentamos melhorar o MPS todos os dias e seus comentários nos ajudam muito. Estamos sempre aguardando seus comentários aqui ou no rastreador .

Sua equipe JetBrains MPS
O impulso para desenvolver

Source: https://habr.com/ru/post/pt420799/


All Articles