A definição rápida é semelhante ao seu equivalente no IntelliJ IDEA. Clique em um nó, pressione e segure Ctrl-Shift-I, e você receberá um pop-up com a definição do nó. Nesse pop-up, você pode navegar, selecionar outros nós e executar a ação Find. Dessa forma, você não precisa abrir uma nova guia sempre que quiser dar uma olhada rápida no nó.
Agora, é possível melhorar o consumo de memória removendo explicitamente todos os modelos da memória. Você pode clicar no indicador de memória ou definir um parâmetro de limpeza agendada (em segundos) com a ação de registro. No momento, esse recurso é experimental e planejamos aprimorá-lo em versões futuras.
Agora você pode criar mais de um gerador para uma linguagem e hospedá-los em uma linguagem (como nas versões anteriores) ou adicioná-los ao lado de uma linguagem como um módulo regular de nível superior. O uso de planos de geradores permite tirar o máximo proveito de vários geradores. Para ajudar na transição, apenas um dos geradores de linguagem continuará envolvido em um modelo sem um plano de geração explícito. O novo gerador pode ser criado no menu de contexto da linguagem e a caixa de diálogo a seguir possui uma nova caixa de seleção que você pode usar para torná-la independente.
Adicionamos uma nova intenção que converte um conceito em um conceito de interface, e vice-versa. Isso pode ser usado ao criar uma estrutura de linguagem e não altera o uso.
Agora, é possível criar conceitos, métodos e classes a partir de usos no código. A intenção pode criar uma classe sobre novas instruções, métodos em expressões, bem como conceitos e interfaces em funções filho/de referência e em extensões/implementos.
Uma nova instrução de gerador permite gerar um identificador Java válido a partir de qualquer INamedConcept. Isso criará um nome exclusivo, removendo símbolos ilegais, colocando em maiúsculas e adicionando um prefixo, se necessário.
Nas versões anteriores do MPS, a instrução add result no localizador permitia apenas resultados de pesquisa baseados em node<>
. Agora, com add raw result, o designer de idiomas pode exibir qualquer resultado que a visualização Find Usages seja capaz de visualizar.
O gerador do MPS emite um aviso quando tenta resolver uma referência dinâmica, mas falha, e isso causa muitos avisos, pois nem todos os geradores seguem uma abordagem estrita de construção de referência usando mapeamentos de rótulos. Portanto, adicionamos uma nova configuração para controlar se o aviso deve ou não aparecer.
Melhoramos significativamente o desempenho ao carregar modelos de stub, especialmente em conjuntos de jars grandes e fortemente conectados. Os tempos de carregamento são agora de 2 a 3 vezes mais rápidos em nosso projeto de destino do que na versão 2019.2 (de 18 segundos para 6 segundos). Esse aumento também foi transferido ao MPS 2019.1 e ao MPS 2019.2.
O MPS costumava lidar com apenas um conjunto específico de arquivos como modelos, ou seja, *.mps
e *.mpsr
. No entanto, com a persistência de modelos personalizados, os nomes dos arquivos diferem. Para garantir que todos os arquivos de modelo necessários sejam agrupados quando um módulo for compilado, há uma declaração raiz explícita do modelo para um módulo no script de compilação que facilita os padrões de nome de arquivo personalizados.
As amostras de persistência personalizada e a documentação para o novo assistente de solução de compilação receberam uma atualização. Os erros de tempo de geração na amostra Math e links quebrados nas páginas de documentação foram corrigidos. Várias caixas de diálogo e janelas de ferramentas também foram corrigidos.
Literais binários e octais agora são compatíveis, e os parâmetros de tipo nos Javadocs são manipulados corretamente. Muitos outros problemas foram corrigidos também.
O MPS detecta nomes desatualizados e fornece uma correção rápida para atualizá-los para objetos da linguagem SModel.
Com a faceta do módulo "Tests", os designers de linguagem agora têm total liberdade, e o MPS não exige mais que a faceta esteja presente no módulo Language.
A ação Surround with… agora está disponível quando vários nós são selecionados. Anteriormente, ela era habilitada apenas para seleções que continham um único nó.
Para uma revisão em um histórico raiz, agora você pode dar uma olhada nos outros arquivos alterados na mesma revisão.
A ação Show Root History, introduzida na versão 2019.2, está disponível para raízes de modelos mantidos em um único arquivo. Agora, modelos em persistência por raiz também são compatíveis.
O MPS integra a bem conservada ferramenta Favorites da plataforma IntelliJ.
Todas as meta-linguagens agora oferecem o mesmo estilo e experiência de edição com relação a, entre outras coisas, navegação pelo teclado, comportamento da célula de espaço reservado nos editores e aparência "New Root".