Novidades no MPS 2019.1

Editor

Patrocinado pelo cliente

Estilo personalizado e prioridade dos itens de preenchimento

Designers de idiomas podem definir o estilo e a prioridade dos itens no menu de preenchimento. É possível alterar a cor do plano de fundo e do texto, a formatação em negrito e em itálico e é possível ocultar itens. Observe que esse recurso é experimental, e seu design pode sofrer alterações no futuro. Saiba mais sobre isso.

Linguagem Generator

Suporte para inferência automática de tipo introduzida para a nova macro VAR

A macro VAR agora oferece suporte a várias declarações de variáveis por macro na linguagem Generator. O tipo é deduzido da consulta de declaração, a menos que seja substituído.

Suporte para plug-ins

Patrocinado pelo cliente

Use plug-ins do MPS da tarefa ant de migração

Agora, se um plug-in for necessário para a migração de um projeto, isso pode ser especificado na tarefa ant <migrate>. O plug-in correspondente será ativado, juntamente com suas dependências. Também integramos esse recurso à versão 2018.3.5 após a solicitação de suporte de um cliente.

Patrocinado pelo cliente

Suporte para implantação de plug-ins na instrução de script de compilação "executar código da solução"

A instrução "executar código da solução" permite ativar plug-ins na instância do MPS que executará o código. As dependências do plug-in serão incluídas. Esse recurso também foi integrado à versão 2018.3.5 após a solicitação de suporte de um cliente.

Melhorias no IDE

Crie um tema de interface do usuário personalizado

Adicione um toque de cor ao seu dia! A plataforma IntelliJ acaba de introduzir esse recurso interessante e, como o MPS se baseia nele, agora você também pode personalizar os temas de interface do usuário para o seu IDE.

Importe os novos temas predefinidos como plug-ins ou crie seu próprio do zero com o IntelliJ IDEA . Experimente o nosso novo Tema ciano-claro e Tema roxo-escuro.

A configuração de execução do JUnit agora aceita plug-ins para implantar

Semelhante a uma configuração de execução da Instância do MPS, agora você pode fornecer uma lista de plug-ins do IntelliJ IDEA a serem implantados na execução de teste. A tarefa "before launch", "Assemble Plugins", também está disponível na configuração de execução do JUnit. Ela cria automaticamente os plug-ins que estão sendo implementados e copia os artefatos para o diretório de configurações.

Patrocinado pelo cliente

Classificação no ProjectPane

Adicionamos TreeNodeSortService para gerenciar as contribuições ChildComparatorProvider, que oferecem controle total sobre os filhos MPSTreeNode na árvore ProjectPane. Os usuários agora registram/cancelam o registro de fornecedores no aplicativo ou nas partes de projeto de seus plug-ins.

Indicação de submissões de entrada e saída

O IDE agora indica se submissões de entrada e saída estão disponíveis para branches individuais no pop-up Branches. Basta habilitar a opção "Mark Branches that have incoming/outgoing commits in the Branches popup", em Preferences/Settings | Version Control | Git.

BaseLanguage

Métodos estáticos em interfaces baseLanguage

O MPS agora permite criar métodos estáticos em interfaces.

Diversos

Adeus Confluence, olá Help Center!

Desde sempre, o Confluence tem sido o lar da documentação do MPS. Agora, é hora de crescer e mudar para o nosso próprio lugar. Estamos migrando toda a documentação para a nossa Help Center. O guia do usuário e o Fast Track Tutorial já estão acessíveis lá. Espere outras melhorias na documentação em versões futuras.

Assinatura de métodos de stub

O tipo de retorno do método foi removido dos IDs de nó do MPS criados nos modelos de stub Java. A partir de agora, a verdadeira assinatura de método definida pela especificação da linguagem Java é usada para identificar métodos. Você não precisa salvar novamente todos os modelos, referenciando um método a partir do submodelo, se o tipo de retorno tiver sido alterado em uma nova versão da biblioteca. A migração automática salvará todos os modelos do MPS e corrigirá todas as referências existentes aos métodos de modelos de stub.

Novo significado para a caixa de seleção "Compile in MPS"

Se a caixa de seleção 'Compile in MPS' nas propriedades do módulo não estiver marcada, isso não implica mais que há uma instância do IntelliJ IDEA conectada para executar a compilação do código. A caixa de seleção pode ser entendida como "compilar no MPS ou não compilar nada". .

O MPS mostra linguagens agregadas automaticamente

Os aspectos estruturais agora manifestam as linguagens que elas incorporam por agregação (isto é, usando um conceito externo em uma função filho). Não é mais necessário importar essas linguagens explicitamente para um modelo que usa uma linguagem agregada, que será usada automaticamente durante a edição.