A JetBrains liberou a versão 2018.3 de seu principal produto, o IntelliJ IDEA. Essa versão traz uma série de novas funcionalidades incluindo o suporte ao Java 12, melhorias para o Spring Boot, suporte à comentários TODO de múltiplas linhas, e mais.
Java
O IntelliJ IDEA 2018.3 vem com suporte inicial para o Java 12. Desenvolvedores podem visualizar os Raw String Literals (JEP 326), convertendo strings literais de múltiplas linhas em raw string literals e vice versa, assim como reconhecer expressões regulares em raw string literals e colar strings como uma raw string literal.
(imagem obtida de jetbrains.com)
Para tirar vantagem da assistência de código para o Java 12, vá em Project Structure > Project, e ajuste o nível da linguagem para o "12 (Preview) - Switch expression, raw string literals". É importante observar que o Java 12 ainda não foi lançado. A implementação de uma especificação preliminar desenvolvida sob o JCP é disponibilizada apenas para testes e avaliação e não é compatível com nenhuma especificação da JCP.
Agora o IntelliJ IDEA pode detectar código duplicado em casos mais complexos, exibindo-os no diff viewer, permitindo que os desenvolvedores possam compará-los lado a lado.
Outras melhorias nesta versão incluem:
- Detecção de chamadas desnecessária de
sorted
antes domin
, e uma sugestão de correção para remover chamadas redundantes dosorted
na Java Stream API; - Adição de uma inspeção chamada "Condition is covered by further condition", que detecta condições desnecessárias cobertas por uma próxima condição, fornecendo uma sugestão de correção para remover as condições redundantes.
Editor
Agora o IntelliJ IDEA 2018.3 suporta comentários de múltiplas linhas, cada comentário de múltiplas linhas é destacado e listado na TODO Window.
(imagem obtida de jetbrains.com)
Uma nova barra de status de recuo foi adicionada ao IntelliJ IDEA 2018.3, que exibe o tamanho do recuo no arquivo corrente, adicionando um asterisco à visualização de recuo quando um arquivo não corresponde às configurações atuais.
Outras melhorias no editor incluem:
- A criação de um escopo para evitar a formatação do código de arquivos e diretórios específicos;
- Arquivos EditorConfig agora têm destaque de sintaxe e conclusão de código.
JavaScript / Typescript
Algumas melhorias também foram feitas para o JavaScript e Typescript. O IntelliJ IDEA pode agora adicionar os imports automaticamente, tanto para símbolos definidos em um projeto assim como símbolos das dependências do projeto. Isso funciona desde que o pacote contenha arquivos fontes escritos como módulo ES ou se houver um arquivo de definição de TypeScript dentro do pacote.
Desenvolvedores usando o Node.js 10.12 ou acima podem usar a flag --experimental-worker para depurar workers no Node.js. Além disso, o IntelliJ IDEA agora fornece sugestão de código para a worker threads API.
O suporte ao Angular também foi melhorado. De acordo com a JetBrains, mais de 50 problemas conhecidos foram corrigidos no suporte ao Angular.
Spring
O Spring Boot 2.1 é totalmente suportado no IntelliJ IDEA 2018.3. Valores de configuração anotados com @DataSize são validados, usando o padrão @DataSizeUnit, se especificado.
Uma nova inspeção foi adicionada para identificar os erros mais comuns ao usar @ConfigurationProperties. Por exemplo, propriedades depreciadas em um POJO agora são destacadas para facilitar a identificação e atualização da configuração.
(imagem obtida de blog.jetbrains.com)
O Spring Initializr recebeu algumas melhorias, agora quando um desenvolvedor cria um projeto usando o Spring Initializr, o IntelliJ IDEA sugere a instalação ou habilitação de plugins para garantir que o suporte para todas as tecnologias selecionadas está presente.
Os desenvolvedores Kotlin também podem se beneficiar das melhorias no JPA e suporte ao Spring Data. Agora o IntelliJ IDEA entende as entidades quando um desenvolvedor escreve interfaces Spring Data no Kotlin. Além disso, o IntelliJ IDEA fornece sugestão de código para nomes de métodos, e sugestão de correções para parâmetros.
Docker e Kubernetes
O plugin do Docker agora vem junto com a IDE.
O suporte para arquivos de recursos do Helm resource também foi melhorado no plugin do Kubernetes, incluindo:
- Assistência de código;
- Um Novo action 'Helm Update Dependencies' está disponível, permitindo que os desenvolvedores façam o download de dependências .tgz externas e as visualizem na árvore do projeto.
Mais informações sobre todas as mudanças podem ser encontradas na página What's New.