Novidades do IntelliJ IDEA 2020.1

O IntelliJ IDEA 2020.1 adiciona suporte para Java 14 e novos recursos para uma série de frameworks, atualiza o depurador com assistência para análise de fluxo de dados, adiciona um novo modo LightEdit, baixa e configura o JDK para você e faz muito mais!

Java

Suporte para Java 14: Correspondência de padrões e registros

O IntelliJ IDEA 2020.1 adiciona suporte ao Java 14 e seus novos recursos. O IDE não só adiciona suporte completo para insights de código de registros, como também permite criar rapidamente novos registros e gerar seus construtores e componentes, além de alertar sobre erros existentes. Você também descobrirá o suporte para correspondência de padrões do operador instanceof, incluindo uma nova inspeção e uma correção rápida que simplifica rapidamente expressões prolixas "instanceof-and-cast", substituindo-as por novas variáveis de padrão concisas.

Mais sobre o uso do Java 14 com o IntelliJ IDEA

Baixar o JDK

Baixe o JDK do IDE

Você não precisa mais procurar o JDK necessário na Web. Começando com o IntelliJ IDEA 2020.1, você pode baixar e configurar uma compilação do JDK diretamente do IDE à medida que cria e configura seu projeto. Se você abrir um projeto baixado, o IDE verificará se o JDK configurado para ele já está instalado no seu computador. Caso contrário, o IDE solicitará que você o baixe.

Novas inspeções Java

Novas inspeções Java

Com cada nova versão do IntelliJ IDEA, estamos ampliando suas capacidades de análise de código estático. E este lançamento não é diferente. Além de uma série de melhorias, também adicionamos várias novas inspeções de código. Elas verificam a formatação de maiúsculas/minúsculas em padrões SimpleDateFormat, analisam casos de formatação de data, procuram chamadas adicionais de método redundantes e relatam e sugerem a eliminação de caracteres de fuga desnecessários em literais de string.

Editor

Modo LightEdit

O IntelliJ IDEA 2020.1 oferece o tão esperado modo LightEdit. Agora você pode fazer modificações rápidas em arquivos independentes em um editor de texto sem precisar criar ou carregar um projeto inteiro. Você pode abrir arquivos neste novo editor leve a partir da linha de comando, na tela de boas-vindas do IDE ou no sistema de gerenciamento de arquivos do seu sistema operacional. Você também pode alternar do modo LightEdit para o modo de projeto completo usando a intenção "Open File in Project" (Alt+Enter).

Saiba mais sobre o LightEdit

Renomear no local e alterar assinatura

Renomear no local e alterar assinatura

Ao trabalhar no seu aplicativo Java ou Kotlin no IntelliJ IDEA 2020.1, você não precisa mais usar uma caixa de diálogo modal complicada para alterar a assinatura de um método ou de uma classe. Agora, basta editar os parâmetros de uma classe ou de um método e, em seguida, clicar no novo ícone de medianiz ou pressionar Alt+Enter para rever e aplicar as alterações na declaração de classe/método e todos os seus usos.

Mais sobre renomear no local e alterar assinatura

Renderização de Javadocs no editor

Ler Javadocs no editor pode ser irritante por conta de todas as tags que você precisa percorrer, especialmente quando você precisa interagir com os links de referência e as imagens. É por isso que estamos adicionando uma maneira de renderizar Javadocs diretamente no editor. Habilite esse recurso em Help | Find actions | Render documentation comments on file opening.

Mais sobre a renderização de Javadocs

Code Vision

Demos os primeiros passos para implementar o Code Vision - uma maneira fácil de focar no código e obter informações adicionais sobre ele. No IntelliJ IDEA 2020.1, o Code Vision pode mostrar os usos e implementações de símbolos Java. Para habilitar esse recurso, acessePreferences / Settings | Editor | Inlay Hints | Java, escolha Code Vision e marque as caixas de seleção Show hints… relacionadas.

Barra de navegação aprimorada

Barra de navegação aprimorada

O IntelliJ IDEA 2020.1 oferece mais uma opção para simplificar a navegação pelo seu projeto. Você pode saltar imediatamente até a linha necessária em um arquivo sem rolagem, pois a barra de navegação agora mostra métodos em classes e interfaces Java. Se você não usa a barra de navegação, agora é uma boa hora para ativá-la em View | Appearance | Navigation Bar.

Modo Zen

Modo Zen

Apresentamos o novo Zen Mode para o nosso editor. Ele ajuda você a eliminar quaisquer distrações e a se concentrar apenas no seu código fonte. O modo Zen combina o Modo sem distrações com o Modo de tela cheia, para que você não precise mais habilitar os dois. Basta selecionar View | Appearance | Enter Zen Mode no menu principal e esquecer-se do mundo lá fora.

Verificação gramatical inteligente

Verificador ortográfico e gramatical inteligente

O IntelliJ IDEA 2020.1 vem com o plug-in Grazie, uma ferramenta abrangente de verificação de gramática, ortografia e estilo. Agora, o IDE verifica mais do que apenas suas construções de código. Ele também ajuda você a escrever com precisão literais de string, comentários, Javadocs, mensagens de submissão e muito mais em 16 linguagens naturais. Por padrão, ele verifica apenas arquivos de texto, mas recomendamos que você o habilite também para arquivos Java em Settings/Preferences | Editor | Proofread | Grammar.

Definição rápida de tipos

Definição rápida de tipos

Conheça as definições de tipos de variáveis, campos, métodos e outros símbolos sem mudar o foco do seu código. Coloque o sinal de intercalação no símbolo necessário e selecione View | Quick Type Definition no menu principal. O IntelliJ IDEA mostra as informações em um pop-up, a partir do qual você pode abrir o arquivo de origem e editar o código.

Depurador

Assistência de análise para fluxos de dados

Assistência de análise para fluxos de dados

O IntelliJ IDEA 2020.1 inclui análise de fluxo de dados no depurador da JVM. Ele prevê a execução do código antes que esse código seja realmente executado. Quando seu aplicativo para em um ponto de interrupção, o IDE executa a análise do fluxo de dados com base no estado atual do programa para verificar o que acontecerá em seguida. Para usar o DFA no depurador, habilite-o em Settings/Preferences | Build, Execution, Deployment | Debugger | Data Views | Java.

Leia Integrando análise de fluxo de dados Java e o depurador

Afixar no topo

Afixar no topo

Outra melhoria é a capacidade de afixar qualquer um dos campos de um objeto no topo da lista de campos. Isso é útil quando um objeto tem tantos campos, que é difícil localizar aquele que você precisa investigar.

Profiler

Foco em chamadas de métodos

Foco em chamadas de métodos - Ultimate

O suporte para a criação de perfis de aplicativos no IntelliJ IDEA continua evoluindo. Neste lançamento, adicionamos várias novas funcionalidades: Focus on Subtree, Focus on Call, Exclude Subtree e Exclude Call. Com essas opções, você pode se concentrar mais especificamente em uma chamada de método escolhida e remover as desnecessárias.

Recolher chamadas recursivas

Recolher chamadas recursivas - Ultimate

O profiler no IntelliJ IDEA agora detecta chamadas recursivas quando o mesmo método é chamado mais alto na pilha. O IDE permite ignorar a recursão com a remoção dessas chamadas da subárvore, o que permite que você se concentre nos métodos que consomem a maioria dos recursos e nas chamadas que eles fazem. Chamadas recursivas são marcadas com esse novo ícone especial na guia Call Tree da janela de ferramentas Profiler.

Suporte inicial para snapshots HProf - Ultimate

O IntelliJ IDEA 2020.1 abre arquivos de despejo de memória .hprof, que podem ajudá-lo a identificar vazamentos de memória e encontrar maneiras de otimizar o uso da memória. Por exemplo, você verá informações básicas, como o tamanho total, o número de instâncias e os rastreamentos de pilha do arquivo. Os arquivos também listam todos os objetos raiz agrupados por classes, todas as classes classificadas por seus números de instâncias ou tamanho e todas as instâncias de classe com o visualizador de valores de campo. Para abrir o arquivo .hprof, acesse Help | Find action e digite "hprof" para encontrar a ação Open Hprof Snapshot. Observe que esse recurso está em seus estágios iniciais e será melhorado nos seguintes lançamentos principais.

Controle de versão

 Nova janela de ferramentas Commit

Nova janela de ferramentas Commit

No IntelliJ IDEA 2020.1, reformulamos a interface para submeter alterações ao seu repositório VCS — em vez de uma caixa de diálogo Commit modal, agora você pode aproveitar ao máximo a janela de ferramentas Commit dedicada. 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. A nova interface do usuário é ativada por padrão para novos usuários. Usuários existentes podem alternar para ela em Preferences/Settings | Version Control | Commit.

Nova caixa de diálogo Interactively Rebase

A caixa de diálogo Interactively Rebase from Here reformulada tornou-se realmente interativa. Agora, ela faz muito mais do que deixar você selecionar uma ação que deseja realizar em cada submissão do seu branch. Ela também apresenta um gráfico mostrando quais ações foram aplicadas, exibe detalhes de confirmação e permite que você veja um diferencial e revise ou redefina as alterações, se necessário.

Instalar o Git a partir do IDE

Instalar o Git a partir do IDE

Com o IntelliJ IDEA 2020.1, 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.

Pop-up Branches

  • O pop-up Branches agora apresenta um campo de pesquisa explícito que permite procurar por branches remotos e locais existentes.
  • O botão Refresh foi reformulado, para que você agora possa usá-lo para atualizar as branches remotas existentes.
  • Indicadores de submissão de entrada (azul) e de saída (verde) foram adicionados à barra de status.
  • O Log agora apresenta uma lista de branches.

Aparência

JetBrains Mono

JetBrains Mono

Preocupamo-nos muito com a eficiência do IntelliJ IDEA, mas também dedicamos grande parte de nossos esforços ao seu visual. Muitos dos nossos usuários já sabem que recentemente terminamos de desenvolver nossa própria fonte – JetBrains Mono. Temos recebido toneladas de feedbacks positivos, e é por isso que a JetBrains Mono tornou-se a fonte padrão da IntelliJ IDEA nesta versão.

Tema claro IntelliJ unificado

O IntelliJ IDEA 2020.1 apresenta um novo tema claro padrão que agora está unificado em todos os diferentes sistemas operacionais. Vamos dar as boas-vindas ao IntelliJ Light! Você sempre pode reverter para um dos velhos temas em View | Quick Switch Scheme | Theme, mas encorajamos você a dar uma chance à IntelliJ Light.

Frameworks e tecnologias

Spring WebFlux - Ultimate

Como sempre nos esforçamos para acompanhar as tendências do desenvolvedor e oferecer suporte às tecnologias mais populares, na v2020.1, aprimoramos nosso suporte à framework Spring WebFlux. Adicionamos mapeamentos de solicitações, então, se o seu aplicativo WebFlux tiver o Actuator ativado, você poderá acessar os mapeamentos na janela de ferramentas Run para monitorar seu aplicativo e interagir com ele. Além disso, o IDE agora funciona corretamente com a API de renderização e, portanto, o preenchimento automático de código e a navegação para as visualizações relacionadas agora estão disponíveis. Além disso, você pode aproveitar ao máximo os recursos de insight de código, como Find Usages (Alt+F7) e a refatoração Rename (Shift+F6).

Mais melhorias para o Spring WebFlux

Perfis Spring - Ultimate

Anteriormente, o IntelliJ IDEA tratava as expressões de perfil do Spring como strings. A partir da v2020.1, o IDE diferencia entre diferentes perfis em uma expressão e permite aplicar ações inteligentes a eles, como Find Usages (Alt+F7) e a refatoração Rename (Shift+F6). Também aprimoramos a usabilidade do pop-up Change Active Spring Profiles e implementamos o preenchimento para perfis existentes.

Selenium

Selenium - Ultimate

O IntelliJ IDEA 2020.1 Ultimate introduz o suporte inicial ao Selenium, uma framework popular para testar aplicativos Web, por meio de um novo plug-in de teste de automação de interface do usuário do Selenium. O novo plug-in oferece suporte para frameworks JVM mais populares para bibliotecas de testes e relatórios de interface de usuário: Selenium, Selenide, Geb, Serenity BDD e Allure Framework.

 

Os aprimoramentos da IntelliJ IDEA para o Selenium incluem um novo assistente de projeto, realce, inspeções e preenchimento de código em testes para linguagens Java/Kotlin/Groovy, validação para vários arquivos de configuração e ícones na medianiz para facilitar a navegação.

Mais sobre o suporte ao Selenium no IntelliJ IDEA

APIs de mensagens JMS e Spring Ultimate

O IntelliJ IDEA 2020.1 vem com um conjunto completo de recursos de insight de código para APIs de mensagens JMS e Spring para aplicativos Java e Kotlin. Estes incluem preenchimento de código, navegação, a refatoração Rename (Shift + F7), injeção de referência (Alt + Enter) e muito mais.

Micronaut - Ultimate

Na versão anterior do IntelliJ IDEA, adicionamos suporte para a framework Micronaut. A nova versão amplia esse suporte e adiciona preenchimento automático para parâmetros em arquivos de configuração, bem como navegação e documentação rápida. O IDE agora também preenche automaticamente os tipos de dados básicos e detecta se um valor é inválido. Além disso, o IntelliJ IDEA agora reconhece fragmentos RegExp injetados nos mapeamentos de URL do Micronaut, o que torna a sintaxe mais legível.

RxJava - Ultimate

O IntelliJ IDEA 2020.1 aumenta o suporte ao RxJava ao adicionar uma série de inspeções úteis. O IDE agora detecta editores não utilizados e permite que você saiba quando um lambda retorna um nulo. Ele também realça as chamadas do método de bloqueio de thread e as cadeias de filtro que são muito longas.

Geração de projetos para Quarkus e MicroProfile

Quarkus e MicroProfile - Ultimate

Com o IntelliJ IDEA 2020.1, agora você pode criar novos projetos Quarkus e MicroProfile diretamente através do assistente para novos projetos New Project, que irá guiá-lo através da configuração inicial.

Injeções de linguagem para bibliotecas SQL de terceiros

Injeções para bibliotecas SQL de terceiros - Ultimate

O IDE agora injeta automaticamente fragmentos de SQL para bibliotecas de terceiros populares que eram previamente tratadas como strings usuais e fornece preenchimento de código e navegação para instruções e campos SQL. A lista de bibliotecas com suporte inclui R2DBC, clientes Vert.x SQL, Apache Spark SQL e Apache DB Utils, entre outros.

Swagger Codegen

Swagger Codegen - Ultimate

O IntelliJ IDEA 2020.1 é integrado ao Swagger Codegen – uma poderosa ferramenta para gerar stubs de servidor, clientes de API e documentação que oferece suporte a uma vasta gama de linguagens de programação. Preparamos uma configuração de execução dedicada em que você pode definir coisas como um caminho para gerar os arquivos, um caminho para a pasta de modelos .mustache, uma linguagem e um JRE diferente em caso de problemas de compatibilidade. Para permitir que o Swagger Codegen faça sua mágica, basta abrir um arquivo OpenAPI/Swagger, especificar suas configurações, configurar algumas opções e, em seguida, clicar em Executar.

Especificações remotas - Ultimate

O IntelliJ IDEA 2020.1 sabe como trabalhar com especificações openapi/swagger. Por exemplo, ele fornece preenchimento automático para eles. Você só precisa inserir a URL de especificação nas configurações, e o IDE preencherá os caminhos de URL a partir dele à medida que você digita. Você também pode criar suas próprias especificações da mesma forma que você geralmente cria classes e interfaces: File | New | OpenAPI Specification.

Cliente HTTP

Melhor preenchimento automático e muito mais - Ultimate

O cliente HTTP no IntelliJ IDEA 2020.1 está ficando ainda mais inteligente. Agora, ele pode preencher corretamente as variáveis de caminho e os caminhos de URL e pode levá-lo aos endpoints relacionados diretamente dos arquivos de solicitação HTTP. Também temos uma atualização para nossos usuários do Micronaut e do Spring: os métodos de manipulador de solicitações agora apresentam um ícone de medianiz para mapeamentos de URL. Use-o para criar ou abrir um arquivo de solicitação HTTP existente e navegar até o cliente HTTP.

Docker

Workflow de extração mais fácil para o Docker

Workflow de extração mais fácil para o Docker

Para ajudá-lo a extrair imagens mais facilmente de um registro do Docker, reformulamos nossa interface do usuário e removemos a caixa de diálogo modal. Agora, você pode simplesmente clicar no nó Images no painel esquerdo da janela de ferramentas Service, e o IntelliJ IDEA abrirá a guia Images Console no painel direito, na qual você pode extrair imagens facilmente. O IDE também fornece preenchimento para imagens.

Kubernetes

Comando Apply para arquivos Kubernetes

Comando “Apply” para arquivos Kubernetes - Ultimate

Agora, você pode atualizar um cluster Kubernetes para corresponder a um estado definido em seus arquivos locais, invocando o comando "Apply" direto da medianiz do editor.

Mais sobre melhorias no Docker e Kubernetes

Ferramentas de compilação

Atualizações de importação do Maven e Gradle

Atualizações de importação do Maven e Gradle

O IntelliJ IDEA 2020.1 traz uma pequena mas importante atualização para nossos usuários do Maven e Gradle. Em vez da importação automática antiga, agora existe uma notificação flutuante na parte superior direita do editor. Use essa notificação ou um novo atalho (Ctrl+Shift+O para Windows e Linux/Shift+Cmd+I para Mac) para carregar as alterações após modificar o arquivo de compilação. Fica ainda melhor: quando o IntelliJ IDEA detecta quaisquer alterações no arquivo de compilação feitas fora do IDE, como atualizações do VCS, ele recarrega os projetos relacionados automaticamente.

Scala

Suporte para Scala 3

Suporte para Scala 3

Agora que Dotty está destinado a se tornar o Scala 3, começamos a trabalhar no suporte completo do Scala 3. O plug-in Scala agora inclui suporte preliminar para o Scala 3, com a nova sintaxe, realce de erros, navegação, informações de tipo e muitos outros recursos básicos de IDE.

Como tanto a linguagem quanto o suporte à linguagem ainda estão em andamento, recomendamos o uso de compilações noturnas de plug-ins se você quiser obter novos recursos e correções de bugs o mais rápido possível.

Mais sobre o suporte ao Scala 3 no IntelliJ IDEA

Realce de erros granular para literais de função

Realce de erros granular para literais de função

No Scala, literais funcionais são muito usados. Eles são muito parecidos com métodos e têm parâmetros e corpos separados. Porém, em geral, eles são tratados como uma única expressão de tipo de função, dificultando a localização e a interpretação de erros.

Nesta versão, introduzimos o realce de erros granular para literais de função, o que pode ajudá-lo a identificar erros que dependem de mensagens claras e precisas, em vez de mensagens possivelmente obscuras com tipos de função.

Inspeção de parâmetros não utilizados

Inspeção de parâmetros não utilizados

O plug-in Scala tem sido capaz de mostrar variáveis e métodos não utilizados por um longo tempo. Agora, ele também pode detectar parâmetros não utilizados. Os parâmetros que não são referenciados dentro de um método ou classe são realçados em cinza.

Ao contrário de variáveis e métodos, parâmetros não utilizados geralmente são o resultado de erros de programação. Assim, não só a nova inspeção torna seu código mais limpo, mas também pode ajudá-lo a evitar vários erros.

Entrada inteligente

Entrada inteligente

No Scala, muitas vezes temos várias chamadas de método na mesma linha. Nesses casos, usar Step Into no depurador não é conveniente – você precisa entrar manualmente e, em seguida, sair de muitos métodos antes de chegar ao desejado.

Nesta versão, "Step Into" tornou-se "Smart Step In". Você pode simplesmente escolher um método desejado, e o IDE fará o trabalho.

Melhorias no suporte para BSP

Melhoramos o suporte ao BSP. Agora, ele funciona de forma mais suave e com mais projetos e ferramentas de construção. Você não precisa mais instalar manualmente o Bloop para importar projetos do SBT via BSP – o plug-in Scala pode converter esses projetos automaticamente no formato Bloop. Agora, é possível cancelar compilações BSP da janela de ferramentas Build. Finalmente, você pode visualizar e gerenciar conexões BSP usando o widget BSP.

JavaScript

Novas intenções e inspeções inteligentes

Novas intenções inteligentes e inspeções - Ultimate

Novas intenções e inspeções inteligentes (Alt Enter) permitem que você economize tempo ao codificar. Por exemplo, agora, você pode converter rapidamente o código existente em encadeamento opcional e/ou coalescência nula, a sintaxe introduzida nas versões mais recentes do JavaScript e do TypeScript.

Suporte para o Vuex e a API Composition

Suporte para o Vuex e a API Composition - Ultimate

Com o suporte imediato para a biblioteca Vuex e a API Composition do próximo Vue 3, você pode criar excelentes aplicativos Vue.js de maneira ainda mais fácil.

Confira Novidades no WebStorm para conhecer as outras melhorias de JavaScript que também estão disponíveis no IntelliJ IDEA 2020.1.

Melhorias no banco de dados

Melhorias no banco de dados

Melhorias no banco de dados - Ultimate

As melhorias no banco de dados incluem a capacidade de exportar dados para arquivos Excel (.xlsx), visualizar dados como texto direto no editor, criar configurações de execução e muitas outras coisas.

Confira Novidades no DataGrip para todas as melhorias no banco de dados que também estão disponíveis no IntelliJ IDEA 2020.1.

Terminal

Sessões de terminal divididas

Sessões de terminal divididas

Adicionamos a capacidade de dividir sessões de terminal verticalmente ou horizontalmente, para que você possa executá-las lado a lado. Você pode chamar o menu de contexto do Terminal para criar, navegar e encerrar uma sessão de terminal dividida.

Configurações de execução

Armazenar configurações de execução como arquivos

Começando com a v2020.1, você pode escolher qualquer local dentro da pasta do projeto para suas configurações de execução, para que você possa compartilhá-las com os membros da sua equipe por meio do controle de versão. Para fazer isso, abra a caixa de diálogo Run/Debug Configurations, marque Store as project file na parte superior direita da caixa de diálogo e clique no ícone de roda dentada. Isso abrirá um pop-up que permite que você escolha onde armazenar suas configurações de execução.

Android

Suporte para Android Volley

Suporte para Android Volley

O IntelliJ IDEA 2020.1 traz suporte para a biblioteca Android Volley. Ele fornece preenchimento de código automático para referências de caminho de URL e permite que você navegue por recursos relacionados.

Outros

  • Os IDEs baseados em IntelliJ mudaram completamente do JetBrains Runtime 8 (JBR8) para o JetBrains Runtime 11 (JBR11).
  • As configurações do IDE são agora importadas automaticamente de uma versão principal para outra.
  • O caminho para os arquivos de configuração do IDE mudou.
  • Caixas de diálogo Find/Replace e Find in Path atualizadas.
  • UI de configuração e subsistema SSH unificada.