O MPS 2025.3 apresenta uma grande reformulação da linguagem JavaDoc, mudanças significativas em planos de geradores e uma grande atualização do editor reflexivo. Ele também permite ações de teclado na visualização Logical e permite que TextIcon ofereça variantes visualmente distintas para temas claros e escuros.
Explore a lista completa de mudanças abaixo.
A linguagem JavaDoc foi completamente migrada para usar a linguagem jetbrains.mps.lang.text para representação e edição de texto. Espera-se que essa mudança tenha impacto mínimo na experiência geral do usuário. No entanto, ela corrige vários problemas:
jetbrains.mps.lang.text, como comentários BaseLanguage ou a documentação da linguagem da estrutura. Para obter mais informações sobre a edição de texto, consulte a página da faceta da documentação. jetbrains.mps.lang.text é usado. Você também pode copiar e colar texto simples. Ao longo do caminho, vários problemas associados à linguagem JavaDoc foram resolvidos:
jetbrains.mps.lang.text em vez de propriedades de string, fazendo com que a mesma funcionalidade de editar/copiar/colar/estilizar esteja disponível dentro de tags de bloco. {@literal ...} foi adicionada conforme exigido pela especificação da linguagem Java. CodeSnippet resolve corretamente as variáveis locais. NodeWrapper gera corretamente o texto dos nós contidos. Além das ações existentes Paste as Java Statement e Paste as Class Content, a linguagem JavaDoc reformulada oferece suporte para uma nova ação que permite colar facilmente o código JavaDoc textual em BaseLanguage. Mais importante ainda, essa nova ação garante que seu código JavaDoc seja processado corretamente em linhas de texto JavaDoc, tags de bloco e tags inline, incluindo possíveis resoluções de referência (por exemplo, para tags @param ou {@link }).
Essa nova ação Paste as JavaDoc processa o texto da área de transferência e o cola em um comentário JavaDoc na posição atual do cursor. Se o cursor não estiver posicionado em um comentário JavaDoc existente, a ação anexará os elementos JavaDoc processados ao JavaDoc da definição de campo/método/classe seguinte, criando um novo arquivo JavaDoc para eles, se necessário.
Fizemos algumas melhorias importantes nos planos de geradores, aprimorando a experiência do usuário com transformações complexas de modelos. Uma nova noção de PlanContribution substitui completamente a funcionalidade experimental fork as que introduzimos na versão 2024.1.
Além disso, também adicionamos um mecanismo para denotar um modelo de um branch (para qualquer branch originado de um plano ou contribuição de plano) com atributos de modelo adicionais. Um possível caso de uso para isso pode ser quando o designer de linguagem/plano deseja adicionar atributos de modelo personalizados para identificar o resultado de um determinado branch para processamento posterior. Um dos atributos empregados pelo próprio MPS é targetFacet (consulte jetbrains.mps.generator.extensions.common model), que informa a <mps.make> qual GenerationTargetFacet/ModuleFacet consultar ao determinar um local de saída apropriado para um modelo.
Tanto a etapa fork quanto um PlanContribution em um plano de gerador são compatíveis com a ativação condicional. Agora é possível ativar certos branches de um plano somente quando determinados critérios forem atendidos. No momento, o MPS vem com uma instrução condicional que verifica os valores de plan parameters especificados. Pretendemos estender as instruções para dar suporte a operações lógicas (and/or), bem como outras operações em potencial, mantendo uma interpretação rigorosa dos planos de geradores (ou seja, nenhum código BaseLanguage em planos).
Um designer de linguagem pode fornecer classes ParameterDeclaration personalizadas. Os valores para esses parâmetros podem ser fornecidos usando um ponto de extensão PlanParameterContributor. O MPS vem com alguns parâmetros predefinidos que podem ser usados imediatamente - consulte o modelo jetbrains.mps.generator.extensions.common para obter detalhes completos sobre eles.
As camadas de TextIcon agora podem ser configuradas para aplicação aos temas de cores claras e escuras, ou a ambos. Além disso, os literais de cores na definição de TextIcon podem fornecer valores diferentes para os temas de cores claras e escuras.
O editor reflexivo (padrão) está com uma nova aparência. O editor padrão somente leitura foi integrado ao editor reflexivo, eliminando assim qualquer confusão entre os dois.
O processo de criação de novos elementos no painel Logical da visualização Project usando atalhos de teclado foi significativamente aprimorado. Novos módulos, modelos e nós agora podem ser introduzidos sem o uso do mouse.
O realce de uso do nó no cursor agora está restrito apenas às referências que estão realmente visíveis no editor. Os usos em nós que não são realmente exibidos pelo editor do nó não são realçados.
O MPS 2025.3 inclui uma ampla gama de correções de bugs. A lista completa de problemas resolvidos pode ser encontrada em aqui.
Os novos temas Islands estão incluídos no MPS 2025.3 e são ativados por padrão.
Para cada lançamento principal, preparamos instruções sobre como migrar de versões mais antigas do MPS para garantir que tudo corra bem. Veja-os em detalhes no guia de migração atualizado.