O MPS 2021.1 apresenta suporte para Java Anotation, muitas melhorias para VCS, Apple Silicon e muito mais.
O tamanho da fonte pode ser ajustado rapidamente em uma janela aberta do editor pressionando a tecla Control e rolando com a roda do mouse. Como as alterações no tamanho da fonte não são persistentes, quando você reabrir o arquivo, o tamanho do texto será redefinido para o valor padrão. É possível habilitar/desabilitar esse recurso na seção Preferences | Editor | General: Change font size with Ctrl/Cmd+Mouse Wheel.
A implementação do layout de indentação se tornou incremental em alguns casos centrais, o que reduzirá o tempo de renderização para modelos grandes em linguagens que usam principalmente o layout de recuo (como a BaseLanguage). Esse recurso pode ser desativado com a opção da VM mps.indent_layout.disable_incremental.
É essencial escolher uma fonte do editor que você possa ver sem dificuldade por longos períodos de tempo. As configurações de tipografia incluídas recentemente deixam essa escolha um pouco mais fácil e personalizada. Na versão v2021.1, você pode ajustar a espessura dos seus estilos de fonte principal e negrito em Preferences | Editor | Fonts.
O suporte para Sistemas de Controle de Versão adiciona melhorias à anotação raiz. Um novo algoritmo para calcular alterações de revisão com rastreamento de movimento agora é usado para a anotação raiz. As cores das linhas/células anotadas são determinadas usando apenas as revisões em que a raiz foi alterada. As células anotadas agora têm o grupo de menu de contexto especial quando a coluna de anotação está aberta. Você pode aplicar Copy Revision Number, Show Diff e outras ações a cada célula anotada.
A caixa de diálogo diff está habilitada para submissões mescladas no log do Git. O visualizador exibe três painéis: o painel central para o modelo mesclado e os painéis esquerdo e direito para os modelos dos dois branches mesclados.
Agora, é possível desativar a sincronização de rolagem do editor na caixa de diálogo Diff com um botão.
A anotação raiz e os algoritmos de histórico de raiz/nó eram baseados anteriormente na lista ordenada de revisões de arquivo, calculando as alterações para a raiz entre duas revisões adjacentes. No entanto, era possível que essas revisões fossem de dois branches diferentes e, nesse caso, as alterações obtidas não faziam sentido. As revisões de merge também não eram tratadas corretamente. As alterações das rodadas de revisão mais antigas podiam ser exibidas erroneamente como alterações da revisão de mesclagem mais recente. Agora, o algoritmo considera o gráfico de revisões ao formular o histórico de alterações.
Nossa nova ação Save to Shelf permite que você copie suas alterações para o Shelf enquanto as mantém nas alterações locais. Você pode acessar esta ação através das teclas ⇧⌘A no macOS (Ctrl+Shift+A no Windows ou Linux) e digitando ‘Save to Shelf’.
Agora, é possível faze referência ao nó de entrada de uma macro LOOP usando uma expressão LOOP.inputNode, dispensando a necessidade de usar uma macro VAR. O índice de LOOP também pode ser acessado no mesmo namespace usando LOOP.index e substituindo a variável de contexto definida pelo usuário anterior.
Para melhorar a extensibilidade dos Planos de Geração, agora existe um novo mecanismo para incluir linguagens ou geradores que são desconhecidos na ferramenta de design de planos. Agora, com a instrução transform, o designer de linguagens pode incluir uma linguagem que visa ou estende uma determinada linguagem. Quando dizemos que a Linguagem B “visa” a Linguagem A, significa que o gerador da Linguagem B produz construtos da Linguagem A.
Com o MPS 2021.1, os modelos compilados agora verificam se os filhos estão corretamente colocados nos nós pais caso essa opção esteja ativa.
Muita coisa mudou na nossa abordagem à compilação Java de módulos MPS. Isso soluciona um dos nossos issues mais votados: o suporte para Processamento de Anotações. Trocamos a infraestrutura Java Compiler do MPS para utilizar o conjunto de APIs javax.tools.JavaCompiler e, agora, o MPS pode usar qualquer compilador que implemente essa API padrão. A partir da versão 2021.1, o MPS é executado com o compilador padrão configurado para essa API, com a opção de usar o Eclipse Compiler for Java (ECJ).
Quando um novo projeto for criado, uma versão de “referência” do MPS agora será salva. Isso não é válido para migrações de projetos de versões do MPS anteriores à versão base do projeto. Isso dá aos autores a flexibilidade de fornecer às migrações de projetos uma versão especificada de “referência” desejada, que eles podem modificar na interface de migração do projeto usando o novo método “getBaselineVersion():int”.
A caixa de diálogo da refatoração Method Signature agora inclui uma maneira de especificar valores padrão para novos argumentos ou argumentos cujos tipos foram alterados. Quando um parâmetro é removido, mas ainda é usado no método, uma nova variável local é introduzida para que a referência não seja perdida. Se a chamada de um método não corresponder à sua assinatura, uma ação de intenção permitirá que você altere a assinatura do método para alinhá-lo a essa chamada.
A linguagem lang.text recebeu vários recursos novos que melhoram diretamente os comentários de uma ou várias linhas em BaseLanguage.
As expressões model.roots(), model.rootsIncludingImported() e model.nodesIncludingImported() agora oferecem suporte a #expression para especificar conceitos, exatamente como acontece com model.nodes().
Plug-ins informam ao MPS sobre os módulos para os quais eles contribuem por meio de um ponto de extensão com.intellij.mps.LanguageLibrary
. Agora, pontos de extensão podem fornecer um atributo opcional hide="true"
, que torna os módulos do plug-in qualificados para serem filtrados por um padrão especificado com com.intellij.mps.VisibleModuleMask
.
A nova pré-visualização em navegador integrada permite que você veja o resultado dos arquivos HTML rapidamente. Para abri-lo, clique no ícone com o logotipo do MPS no widget no canto superior direito do editor. Se você fizer quaisquer alterações no HTML ou se alterar os arquivos CSS e JavaScript vinculados, a pré-visualização será atualizada na mesma hora.
Agora, você pode usar o MPS em Macs com um chip M1. Para começar, baixe o instalador do JetBrains MPS para Apple Silicon diretamente no nosso site ou obtenha-o no JetBrains Toolbox App.
Com o MPS 2021.1, a caixa de diálogo Import Settings, que aparece todas as vezes que você instala uma nova versão do MPS, apenas será exibida quando você não tiver os ajustes e as configurações apropriados.
Nesta versão, adicionamos mais rótulos aos elementos da interface do usuário na tela de boas-vindas, na exibição Project Structure e no log do VCS. Esses elementos, assim como os ícones da medianiz, agora são lidos corretamente quando você usa um leitor de tela. Também estamos trabalhando para melhorar o suporte à acessibilidade para usuários macOS.