Novidades no MPS 2020.1

O MPS 2020.1 oferece melhorias no Editor, a linguagem de Padrões leves, Javadocs para modelos de stub, aprimoramentos em BaseLanguage e muitos novos recursos!

Use separadores diferentes, dependendo da posição da lista

Use separadores diferentes, dependendo da posição da lista

Ao editar nós com cardinalidade (0,n) ou (1,n), você pode fornecer um separador personalizado entre valores, implementando uma função de consulta de separador. Esse recurso estende esse recurso, transmitindo mais argumentos à função de consulta (ou seja, prevNode e nextNode), possibilitando fornecer um separador personalizado para cada par de valores. Na captura de tela a seguir, "e" e "," são os separadores.

Saiba mais

Padrões leves

Padrões leves

A linguagem de padrões ajuda a definir padrões de estrutura e a corresponder nós a eles. Ela usa editores de conceito regulares que fazem o padrão parecer semelhante aos nós que ele aceita. Porém, para alguns editores complexos que não correspondem exatamente à estrutura do conceito, pode ser mais confortável usar padrões leves (construtores de padrões) que descrevem literalmente a estrutura necessária.

Saiba mais

Dicas de ferramentas

Dicas de ferramentas

The editor extension of the Tooltips from mbeddr platform has been added to MPS. Uma migração também será fornecida para a linguagem mbeddr.

Saiba mais

Transformar/substituir menus: mesclar menus nomeados e padrão

Transformar/substituir menus: mesclar menus nomeados e padrão

Este é um aprimoramento que simplifica os menus de transformação e substituição, removendo os conceitos personalizados dos menus do editor nomeado (SubstituteMenu_Named) e do editor padrão (SubstituteMenu_Default). Ambos os conceitos foram mesclados ao pai (SubstituteMenu). O tipo de menu agora está selecionado no editor de menus. A mesma refatoração foi aplicada a menus de transformação.

Detecção de erros para editores fragmentados

Se o código no aspecto do editor de uma linguagem lançar uma exceção, o editor padrão será mostrado para uma célula correspondente em um modelo escrito nessa linguagem. A partir da versão 2020.1, se esse tipo de célula quebrada for aberta no editor, um erro será mostrado na janela de ferramentas Messages. É possível obter o rastreamento da pilha do erro e navegar até a célula problemática.

Saiba mais

Digitar sobre o texto existente

Digitar sobre o texto existente é um novo recurso que faz com que o editor de projeção pareça um pouco mais com um editor de texto. Ao digitar em uma célula de texto, se o caractere que você digitou já estava presente na posição do cursor, o cursor se moverá como se você tivesse substituído o caractere existente. Esse recurso será acionado apenas se o pressionamento de teclas não puder ser processado normalmente e, de outra forma, seria ignorado (por exemplo, em células constantes) ou tornaria o conteúdo da célula inválido.

Esse recurso está ativado por padrão, e você pode desativá-lo em Settings/Editor/General.

Saiba mais

Eliminando extensões de linguagem desnecessárias

Agora, o gerador detecta extensões do editor para outros idiomas e gera um código que manifesta explicitamente essa dependência. Isso significa que os designers de linguagens não precisam se preocupar com esse tipo específico de dependência entre linguagens. Uma dependência de "extensão" entre os módulos de linguagem não é mais necessária para ativar as extensões do editor.

Saiba mais

Comentários Javadoc em modelos de Stub Java

Há um novo mecanismo para especificar um zip que contém as origens de uma biblioteca junto com o jar dessa biblioteca. Agora, o MPS é capaz de extrair o javadoc das origens para apresentá-lo junto com as informações extraídas dos arquivos de classe.

Saiba mais

Comentários de várias linhas em BaseLanguage

A funcionalidade de SingleLineComment foi ligeiramente aprimorada, e o novo conceito de MultiLineComment foi introduzido em BaseLanguage para fornecer suporte a comentários delimitados com símbolos /* … */ da mesma maneira que o Java.

Aprimoramentos de BaseLanguage inspirados pela linguagem Java

Agora, BaseLanguage inclui tentativa com recursos, captura de várias exceções, inferência de tipo de variável local e métodos de interface padrão e particulares. Para fornecer compatibilidade com processos de compilação que requerem um nível de linguagem Java específico, cada solução pode ser configurada para proibir recursos de linguagem que não sejam compatíveis com esse nível. Com exceção do recurso de inferência de tipo de variável local, que requer j.m.baseLanguage.varVariable, esses recursos não exigem importações de linguagem adicionais.

Consulte o guia de migração

Outras melhorias

Interface de submissão não modal

Para agilizar o fluxo de submissões, desenvolvemos uma nova janela de ferramentas Commit para lidar com todas as tarefas relacionadas a subsmissões. Ele fornece mais espaço para a lista de arquivos modificados e as diferenças e permite adicionar alterações a uma submissão quando eles estiverem prontas, compor uma mensagem de submissão iterativamente e escolher qual das alterações preparadas deve ser introduzida em qual submissão.

Como ela não está ativada por padrão, se você quiser experimentar, selecione “Use non-modal commit interface” em Preferences/Settings | Version Control | Commit.

Modo Zen

Esse novo modo ajuda você a se concentrar no seu código, combinando o modo de tela cheia com o modo sem distração. Para experimentar o modo Zen, acesse View | Appearance | Enter Zen Mode.

Instalar o Git a partir do IDE

Você não precisa mais pré-instalar o Git manualmente. Quando você clonar um repositório Git existente, o IDE procurará o executável do Git em sua máquina e oferecerá o download e a configuração para você se o IDE não conseguir localizá-lo.

Configurar o caminho de arquivos

Observe que, no MPS 2020.1, o caminho para os arquivos de configuração mudou.

Saiba mais

Fonte JetBrains Mono por padrão

O MPS agora usa a nova fonte JetBrains Mono (Preferences / Settings | Editor | Font) por padrão. Confira todos os detalhes sobre esse novo tipo de letra para desenvolvedores em nosso site.

O Marketplace chega ao MPS

JetBrains Plugin Marketplace is now available in MPS. Isso abre uma nova gama de oportunidades, pois você pode comercializar seus plug-ins.