Novidades no MPS 2020.3

O MPS 2020.3 inclui uma nova macro geradora, realce de usos dinâmicos, uma nova aparência para a tela de boas-vindas e muitos outros novos recursos para você experimentar

Nova macro geradora

Nova macro geradora

Há uma nova macro chamada $CALL-SITE$ que facilita a inserção de um nó atribuído com uma macro SWITCH/CALL em um local designado no modelo invocado. Antes da mudança, o nó do modelo com uma macro SWITCH/CALL anexada era geralmente ignorado. Agora, se um modelo/switch invocado tentar usar "call site node", o nó será processado como um modelo regular, e o resultado será fornecido ao modelo/switch invocado como um argumento implícito que pode ser inserido no local desejado.

Realce de usos dinâmicos no editor

Realce de usos dinâmicos no editor

Dynamic highlighting, a long-awaited feature, has arrived. Esse recurso é muito semelhante à ação existente Highlight Usages action (Ctrl/Cmd+Shift+F7). A diferença é que o realce dinâmico funciona automaticamente conforme você digita ou navega pelo código. As referências ao nó sob o cursor são realçadas no documento editado quase imediatamente. Você ainda pode usar a ação original Highlight Usages para "afixar" os usos do nó atualmente selecionado enquanto navega para longe dele. Ao fazer isso, o realce dinâmico continuará a realçar o nó sob o cursor.

Esse recurso pode ser ativado ou desativado nas configurações do Editor MPS com a caixa de seleção Highlight selected node.

Instrução de switch melhorada em BaseLanguage

Instrução de switch melhorada em BaseLanguage

Além de algumas melhorias no editor, o conceito de switch agora oferece suporte ao uso de vários casos para a mesma instrução.

Faixa de erro no painel do projeto

Faixa de erro no painel do projeto

Estamos introduzindo uma nova maneira de exibir erros, avisos e mensagens no painel Project. A faixa de erro ajuda a organizar as mensagens no painel Project. Você pode desativá-la por meio do botão de configuração Logical View.

Mudanças no tratamento de facetas de módulo

O MPS não força mais você a usar qualquer faceta de módulo específico com um determinado módulo. As facetas associadas a um módulo são registradas dentro do arquivo descritor do módulo, que agora é a fonte final de informações. Já havíamos tornado a faceta Tests totalmente opcional em versões anteriores e agora a última, Java, não será mais imposta. Observe, entretanto, que desmarcar a faceta do módulo Java nas propriedades do módulo Language excluirá a linguagem do mecanismo de carregamento da classe e resultará em uma experiência completamente diferente. Implementamos essa mudança para facilitar o suporte discreto para linguagens de destino diferentes de Java.

Melhor anotação raiz no VCS

Melhor anotação raiz no VCS

O antigo algoritmo de anotação raiz usava os resultados da anotação obtidos do arquivo de texto do modelo. Isso funcionava apenas para modelos com persistência de texto e, na maioria dos casos, nem sempre era correto. Com a nova abordagem, a anotação é construída comparando os modelos de diferentes revisões.

Saiba mais

Rastreando nós movidos na janela da caixa de diálogo Diff

Rastreando nós movidos na janela da caixa de diálogo Diff

O algoritmo anterior para calcular as mudanças entre os dois modelos não conseguia detectar certos tipos de mudanças. O movimento do nó era detectado como duas alterações independentes: inserção e exclusão. Agora, é possível mostrar o movimento do nó como um movimento. Além disso, também é possível detectar mudanças internas dentro da peça em movimento.

Saiba mais

Nova tela de boas-vindas

Nova tela de boas-vindas

Atualizamos a aparência da tela de boas-vindas. Ela agora inclui não apenas a seleção do projeto, mas também uma variedade de caixas de diálogo para ajudar você a personalizar seu IDE de acordo com as suas necessidades. Em primeiro lugar, a página Projects tem mais espaço para projetos extras. Também é mais fácil procurar o projeto desejado no campo de pesquisa. A página "Customization" conduz você pelas configurações primárias da interface, como tema de cores, fonte do IDE, ações de importação e preferências de compartilhamento.

Outras melhorias

Reordenação do menu VCS

Reordenação do menu VCS

O menu VCS foi renomeado para corresponder ao sistema de controle de versão que você está usando atualmente. Tornamos o menu mais organizado e fácil de descobrir, mantendo as ações mais úteis para o controle de versão do seu projeto. Agora, você pode acessar facilmente os principais recursos do Git que não estão mais ocultos em um submenu. Por exemplo, se o seu projeto usa apenas o Git, o menu VCS será semelhante a este:

Botão "Commit and Push"

Agora os dois botões mais populares, Commit and Commit and Push…, são explicitamente mostrados na tela Commit. Você pode enviar as alterações ao repositório remoto imediatamente após a submissão e não precisa mais rolar por uma lista suspensa até chegar no botão Commit and Push.

Branches aprimorados

Esta versão inclui vários aprimoramentos para branches. O IDE agora corrige automaticamente símbolos não aceitos nos nomes de novos branches, e você pode ver todas as ações relacionadas ao branch atual.

Dividindo o editor com guias de arrastar e soltar

Ter várias guias abertas é sempre conveniente ao trabalhar em um grande projeto. Com o MPS 2020.3, você pode dividir a tela do editor principal na horizontal ou vertical, arrastando e soltando uma guia até a posição desejada. Ao arrastar uma guia, o editor realçará os locais possíveis para soltá-la. O IDE exibe guias afixadas no início da barra de guias.