O IntelliJ IDEA 2022.1 apresenta o Dependency Analyzer para facilitar o gerenciamento de dependências e a resolução de conflitos, um assistente New Project atualizado para refinar o lançamento de novos projetos e a janela de ferramentas Notifications, que oferece uma maneira nova e simplificada de receber notificações do IDE. Ele também inclui uma série de outras melhorias notáveis que são abordadas detalhadamente a seguir.
O recém-introduzido Dependency Analyzer fornece informações abrangentes sobre todas as dependências Maven e Gradle usadas em seus projetos e subprojetos. Ele ajuda você a detectar e resolver dependências conflitantes, remover dependências idênticas e verificar se elas estão presentes em bibliotecas diferentes, além de navegar facilmente pelas dependências para corrigir as configurações de build.
Reformulamos a interface do assistente New Project para simplificar a criação de novos projetos. Você pode iniciar rapidamente um projeto vazio. Use as opções pré-configuradas para Java, Kotlin, Groovy e JavaScript ou use geradores se tiver projetos mais complexos.
A instância de Event Log foi substituída por uma nova janela de ferramentas Notifications. Essa janela destaca sugestões e notificações importantes e úteis com mais clareza e as mantém organizadas em uma janela de ferramentas dedicada. Para mais detalhes, consulte a postagem no nosso blog.
O gerador de projeto Maven Archetype atualizado no assistente New Project introduz a funcionalidade de pesquisa ao digitar quando você navega por arquétipos, a capacidade de gerenciar um catálogo de arquétipos durante a criação de módulos e a capacidade de inserir propriedades necessárias por arquétipo.
Implementamos dicas embutidas do Code Vision aprimoradas que fornecem insights instantâneos sobre seu código diretamente no editor. A lista de métricas exibidas agora inclui herdeiros, usos, autores de código e problemas relacionados. Agora, as métricas estão todas habilitadas por padrão e podem ser modificadas nas configurações de Inlay Hints. Essas configurações também foram atualizadas e receberam uma nova UI de configuração.
Você pode distribuir o espaço de trabalho uniformemente entre as abas do editor para que todas tenham a mesma largura. Para configurar isso, acesse Settings / Preferences | Advanced Settings | Editor Tabs | Equalize proportions in nested splits.
Agora, é possível exportar diagramas UML como arquivos yEd .graphml, JGraph .drawio, Graphviz .dot, Graphviz .dot com posições, além de arquivos Mermaid .md, Plantuml e IntelliJ IDEA .uml, o que os torna compatíveis com ferramentas de terceiros.
A caixa de diálogo Structural Search and Replace agora apresenta uma lista de todos os modelos para facilitar a navegação entre eles. Além disso, a caixa de diálogo apresenta um ícone Pin Dialog e caixas de seleção Injected code e Match case reorganizadas.
IntelliJ IDEA 2022.1 can now detect vulnerabilities in Maven and Gradle dependencies used in your projects by checking across the Checkmarx SCA Database and the National Vulnerability Database, thanks to the Package Сhecker plugin that is bundled with IntelliJ IDEA Ultimate.
Saiba mais nesta postagem de blog.
Ao trabalhar com arquivos Markdown que contêm instruções com comandos a serem executados, você pode executar esses comandos diretamente do arquivo usando os ícones de execução na medianiz.
Com o novo Copy code snippet em blocos de Markdown, você pode copiar o conteúdo para a área de transferência sem esforço, com apenas um clique.
A Markdown Editor Floating Toolbar reformulada agora oferece a funcionalidade de criação de listas e um menu suspenso que permite selecionar estilos de cabeçalho. Como ela é personalizável, você pode preenchê-la com todas as opções necessárias.
Aprimoramos o modo LightEdit para que você possa fazer ainda mais sem precisar criar ou abrir um projeto dedicado. Agora, você pode realizar a reformatação do código no modo sem projeto.
Implementamos a inspeção Incorrect formatting, que notifica você quando a formatação atual de um arquivo não corresponde às configurações de estilo de código.
Para consistência de formatação no código, a opção Add a space at line comment start foi ampliada com uma caixa de seleção Enforce on reformat que é ativada automaticamente. Ela está disponível por padrão para Java, Kotlin e Groovy e modifica apenas comentários de linha que começam com símbolos alfanuméricos.
O formatador de linha de comando oferece suporte a um modo dry run para validar arquivos de projeto. Se um arquivo precisar de formatação, ele sairá com um status diferente de zero.
O IntelliJ IDEA 2022.1 oferece suporte a novos recursos do Java 18, lançado em março de 2022. O IDE agora oferece suporte a snippets de código, mudanças na correspondência de padrões em expressões switch e muito mais. Para obter detalhes, consulte esta postagem no nosso blog.
O descompilador Java agora é mais compatível com a versão Java 17. Ele oferece suporte a construtores de linguagem modernos, como tipos "sealed" e correspondência de padrões, apresenta uma decompilação melhor da expressão switch que recebe um string, fornece anotações de tipo e detecta constantes comuns.
Adicionamos suporte para os novos recursos introduzidos no JUnit 5.7, incluindo suporte para anotações @EnabledIf/DisabledIf
, @NullSource/EmptySource
e @TempDir
.
O template Surround with try/catch atualizado agora lança novamente uma exceção encapsulada em uma RuntimeException em vez de a consumir.
O IntelliJ IDEA 2022.1 suporta o Kotlin 1.6.20 e, portanto, os recursos de linguagem mais recentes, como suporte para compilação paralela, um protótipo de receptores de contexto e melhor compartilhamento de código em todos os alvos Kotlin, agora estão disponíveis no IDE. Saiba mais sobre as novas atualizações do Kotlin nesta postagem do nosso blog.
A otimização de índices de pacotes aumentou significativamente a velocidade do IDE ao realizar complementação de código, realce e operações relacionadas à pesquisa de referências. O número e o escopo dos casos de reindexação ocorridos após as alterações de código também diminuíram.
Introduzimos algumas melhorias e atualizações úteis para a funcionalidade Smart Step Into ao depurar projetos Kotlin. Também solucionamos vários problemas com pontos de interrupção.
To ensure better Kotlin code coverage, the Kover plugin has been integrated with IntelliJ IDEA.
A complementação de código para Groovy agora oferece suporte à maioria dos templates postfix semelhantes a Java, como arg
, cast
, for
, iter
, nn
, notnull
, null
, not
, throw
, try
, var
, par
, sout
, serr
, while
, new
, reqnonnull
e return
.
O IntelliJ IDEA Ultimate agora oferece suporte para microsserviços Go, fornecendo recursos como referências de caminhos de URL, endpoints, Search Everywhere e ícones de medianiz. Os recursos estão disponíveis após a instalação do plug-in Go e atualmente funcionam apenas com funções de biblioteca padrão. Mais detalhes aqui.
Ao trabalhar com o Spring Data MongoDB, o IntelliJ IDEA agora realça consultas JSON, complementa operadores e campos de documentos e fornece navegação até a janela de ferramentas Database a partir de entidades mapeadas.
Há uma nova ação de intenção para arquivos .proto que adiciona instruções de importação ausentes para referências de mensagens não resolvidas. Depois de adicionar as instruções import ausentes, o IDE fornece sugestões de complementação para referências de mensagens.
Com o IntelliJ IDEA Ultimate, agora você pode executar solicitações e obter complementação de nomes de serviços e métodos diretamente de uma instância de servidor em execução. The project does not need to contain .proto files, but the server should support gRPC reflection.
O IntelliJ IDEA Ultimate agora oferece melhor suporte para o Thymeleaf, incluindo menos inspeções com falsos positivos, desempenho aprimorado do IDE ao editar modelos Thymeleaf e níveis de inspeção e realce ajustados para que você receba as notificações corretas.
A framework Helidon agora tem melhor suporte no IntelliJ IDEA Ultimate. O IDE agora fornece complementação de chaves de configuração em arquivos de propriedades e arquivos .yaml e oferece suporte para as ações Go to Declaration e Quick Doc.
Introduzimos uma barra de progresso para processos Gradle, como download de dependências e importação de artefatos. Ele permite que você acompanhe exatamente o que está acontecendo com os arquivos e faça uma estimativa de quando o processo será concluído.
Adicionamos funcionalidade experimental ao plug-in do compilador Maven. Agora, ele permite definir níveis de linguagem diferentes separadamente para fontes de produção e teste. Você pode ativar esta opção em Preferences/Settings | Build, Execution, Deployment | Build Tools | Maven | Importing.
Atualizamos a funcionalidade Code Vision para que o IntelliJ IDEA agora possa fornecer instantaneamente informações sobre autoria de código com base no histórico do VCS. Dicas embutidas Code Author estão habilitadas por padrão em Preferences / Settings | Editor | General | Inlay Hints | Code Vision.
Aprimoramos a funcionalidade do recurso Annotate with Git Blame para facilitar a investigação das alterações introduzidas. O IDE realça a diferença entre as linhas diretamente no editor quando você passa o mouse sobre uma anotação e abre a janela de ferramentas Git Log quando você clica nela.
Agora, Commit Details inclui informações sobre assinaturas GPG e status de build. Antes, esses dados eram mostrados apenas como uma coluna no log do Git.
A nova interface do usuário para a janela de ferramentas Git File History agora é independente do processo de indexação. Os dados são representados com uma nova interface, mesmo que o índice Log esteja desativado.
Ficou mais fácil trabalhar com alterações sugeridas no IntelliJ IDEA, pois agora você pode aplicar ou submeter alterações localmente no IDE.
O IntelliJ IDEA 2022.1 agora permite especificar diferentes ferramentas externas de diff e merge com base no tipo de arquivo. Para configurá-las, acesse Settings / Preferences | Tools | Diff & Merge | External Diff Tools.
A nova configuração do profiler, IntelliJ Profiler, foi implementada. Ele combina o poder do Async Profiler e do Java Flight Recorder e nos aproxima da meta de implementar uma ferramenta de profiling única e completa para todas as plataformas.
Na tela Frames da janela de ferramentas Debugger, removemos a ação Drop Frame da barra de ferramentas e a disponibilizamos com um ícone inline Reset Frame.
Para maximizar o espaço utilizável na janela de ferramentas Debugger, os rótulos das abas agora estão ocultos por padrão. Para torná-los visíveis novamente ou personalizar sua localização, use a opção Show Tab Labels em Layout Settings.
O plug-in Selenium UI Testing obteve uma grande melhoria em seu Page Object Editor. Otimizamos o workflow e reformulamos a interface do usuário para garantir que apareçam menos elementos de distração. Você pode adicionar instantaneamente elementos de página da página Web ao código em tempo real e continuar editando sem sair do Page Object Editor. Você também pode escolher qual tipo de seletor usar ao adicionar um novo elemento de página ao código.
O novo assistente Page Object permite que você escolha a linguagem e o framework de automação de testes ao criar uma nova classe de objeto de página. Também disponibilizamos o assistente para todos os pontos do seu código em que haja uma dependência da biblioteca Selenium. Se quiser experimentar nossa geração automática de objetos de página com diferentes frameworks e modelos personalizados sem criar um novo arquivo, há um modo de experimentação especial disponível em Tools | Open Selenium Page Object Playground.
A modificação de recursos carregados do cluster agora pode ser feita na aba do editor.
Você pode configurar manualmente um caminho para o kubectl, se ele não estiver no local-padrão. Para definir seu caminho personalizado, acesse Settings/Preferences | Build, Execution, Deployment | Kubernetes | Path to kubectl executable.
A funcionalidade de encaminhamento de portas para pods agora está disponível. Para encaminhar portas, você pode usar o ícone na barra de ferramentas ou escolher o item do menu de contexto.
Há uma nova ação Describe Resource para todos os recursos da tela Services. Você pode chamá-la pelo menu de contexto ou usar o botão da barra de ferramentas.
Eventos de cluster agora são exibidos em nó separado da tela Services, fornecendo dados sobre eventos recentes no sistema. Para ver os eventos de um pod específico, chame Describe Resource nele e procure a seção Events nos resultados da ação.
Introduzimos suporte limitado ao editor para werf.yaml e arquivos de template Helm relacionados, incluindo funcionalidade de complementação de código, inspeções, sugestões de correção rápida, refatoração/renomeação para .Values.werf.image.*
e validação de alguns campos, como boolean
e int
.
O IntelliJ IDEA Ultimate agora oferece suporte para importar valores filho por meio de configurações import-values que afetam a complementação/navegação de objetos incorporados em templates.
Para o IntelliJ IDEA 2022.1, reformulamos significativamente a UI do Docker na janela de ferramentas Services. A reforma foi implementada para containers, imagens, redes e volumes.
O suporte para destinos do Docker Compose já está disponível. Por exemplo, para executar uma aplicação Spring Boot em um destino do Compose, acesse a configuração de execução, crie um destino do Compose via Manage targets e execute a aplicação.
Adicionamos suporte para a API HTTP V2 do Docker Registry para uso com o Docker 1.6+. Você pode criar registros do Docker V2 simples ou protegidos por senha e realizar todas as ações comuns, como visualizar, enviar e extrair imagens.
O desenvolvimento remoto agora apresenta um widget Backend Control Center, que mostra a carga da CPU, memória, capacidade do disco e outros parâmetros que podem ser necessários para monitorar o status do back-end.
Uma nova configuração de segurança agora permite que você use o encaminhamento de chaves SSH para autenticar o acesso a repositórios git da sua máquina remota. Como alternativa, você pode usar o auxiliar SSH-agent para fazer isso.
Agora, você pode especificar o caminho de download e os locais exatos para o back-end do IDE na sua máquina remota.
O JetBrains Client agora oferece suporte a mais editores de arquivos, para que você possa trabalhar não só com arquivos baseados em texto, mas também com imagens PNG, diagramas UML, arquivos Jupyter Notebook e recursos de layout do Android.
Run with coverage e uma janela Profiler foram adicionadas ao menu da medianiz. O menu de contexto agora inclui janelas de ferramentas para Maven e Gradle, e itens de submenu mais úteis foram adicionados.
Também melhoramos a funcionalidade de depuração e disponibilizamos várias ações para que você possa examinar seu código sem esforço ao desenvolver remotamente.
Agora, você pode selecionar várias tabelas e copiá-las para outro esquema. Selecione as tabelas e pressione F5
para abrir a caixa de diálogo de exportação. Ao exportar uma única tabela, você pode mapear as colunas, ver o DDL da nova tabela e alterá-lo.
O IDE oferece suporte à exportação entre DBMS, o que significa que o esquema de destino pode pertencer a qualquer banco de dados do seu projeto. Saiba mais nesta postagem no nosso blog.
Agora, você pode editar os resultados em coleções do MongoDB com a mesma facilidade que em bancos de dados relacionais. Você também pode editar conjuntos de resultados obtidos via .find()
. Isso funcionará mesmo se algum método de cursor que modifique o resultado, como sort()
ou limit()
, tiver sido executado depois de .find()
.
A lógica para cancelar instruções em execução foi atualizada. Agora, está mais claro que a solicitação está sendo cancelada, e não desativamos mais as fontes de dados sem aviso prévio. Para obter mais informações, leia esta postagem no nosso blog.
Agora, você pode interromper o processo de criação de uma conexão sem desativar a fonte de dados. Se você clicar no botão Cancel enquanto a conexão estiver sendo criada, ela será interrompida, e uma mensagem ‘Connection canceled’ será exibida. Leia mais sobre essa atualização nesta postagem do nosso blog.
Graças ao suporte incorporado ao React, todos os principais recursos já devem estar funcionando nos seus projetos Next.js. O IntelliJ IDEA 2022.1 adiciona suporte para alguns itens específicos de cada framework, como páginas. O IDE resolverá os caminhos usados na propriedade href
dos seus componentes Link
, bem como em formulários e outras tags. A complementação de código, a navegação e as refatorações também funcionarão.
Neste lançamento, adicionamos a integração adequada com o Volta, um gerenciador de ferramentas JavaScript. O IntelliJ IDEA 2022.1 reconhece automaticamente o Yarn e o npm instalados usando o Volta.
Agora, é possível complementar métodos extension
automaticamente. Além disso, o editor oferece a opção de importar métodos extension
e instâncias given
automaticamente. Novas inspeções para o modificador infix
e a anotação @targetName
podem ajudar você a manter um estilo de código consistente. Melhoramos significativamente o desempenho do leitor .tasty
e, agora, a indexação de bibliotecas Scala 3 é até duas vezes mais rápida.
Ficou ainda mais fácil configurar um novo projeto Scala. Com o novo assistente New Project, você pode selecionar um JDK de projeto, sistema de build desejado e versão Scala numa única etapa.
A maioria das coisas em Scala é formada por aliases, incluindo String
, Seq
, List
, Set
e Map
. Isso afeta o realce de sintaxe, as opções GoTo, Quick Documentation, Quick Definition, Find Usages e Optimize Imports, bem como outros recursos do IDE, porque eles atuam em aliases em vez de em definições reais. Para melhorar a experiência do usuário, o editor agora trata os aliases na biblioteca padrão como exportações transparentes, de modo que, por exemplo, List
implica scala.collection.immutable.List
em vez de scala.List
.
Anteriormente, a detecção de declarações não utilizadas era limitada a associações private
. Agora, a inspeção Unused declaration oferece suporte a associações públicas introduzidas por classes, métodos, variáveis, parâmetros e assim por diante.
Neste lançamento, fizemos um esforço para reformular e simplificar o depurador Scala. Atualizamos o tratamento de objects
, parâmetros de construtor primários, instâncias de class
, Array
, lazy val
e coleções de valores e também melhoramos a avaliação de expressões.
Ao revisar alterações de código no IDE, agora você pode escolher quando publicar um comentário de revisão de código.
For more details, check out this blog post.
Aprimoramos a interface do usuário de revisão de código mostrando atalhos de teclado aplicáveis. Ao postar um comentário de revisão de código, você pode usar Enter para adicionar uma nova linha. Ctrl+Enter irá salvar ou postar o comentário.