O IntelliJ IDEA 2024.1 apresenta uma série de atualizações interessantes para ajudar a agilizar seus workflows. O IntelliJ IDEA Ultimate agora possui complementação de código em linhas inteiras, fornecendo sugestões abrangentes com reconhecimento de código para linhas inteiras de código. O suporte para Java 22 garante compatibilidade com os recursos mais recentes da linguagem. O terminal reformulado melhora as operações da linha de comando, enquanto as linhas fixas no editor facilitam uma navegação mais suave pelas bases de código. Existem dezenas de outras melhorias em várias partes do IDE na versão 2024.1. Confira abaixo quais são elas!
O IntelliJ IDEA Ultimate 2024.1 inclui complementação de código em linhas inteiras para Java e Kotlin. Esse recurso é alimentado por um modelo avançado de aprendizado profundo perfeitamente integrado ao IDE. Ele aumenta a eficiência da programação ao prever e sugerir linhas inteiras de código com base na análise contextual. Essas sugestões são alimentadas por modelos de linguagem especializados que treinamos especificamente para diferentes linguagens e frameworks e que são executados inteiramente no seu dispositivo local, garantindo que os seus dados permaneçam seguros sem necessidade de comunicação com um servidor externo. Essa funcionalidade está incluída na assinatura da licença do IntelliJ IDEA Ultimate. Saiba mais nesta postagem no blog.
O IntelliJ IDEA 2024.1 fornece suporte para o conjunto de recursos do JDK 22, lançado em março de 2024. Isso inclui suporte para a iteração final de variáveis e padrões sem nome, a segunda versão prévia de templates de strings e classes implicitamente declaradas, bem como métodos main
de instância. Além disso, essa atualização introduz suporte para novas instruções que precedem super(...)
em seu estado de versão prévia. Saiba mais nesta postagem no blog.
O IntelliJ IDEA 2024.1 traz um terminal reformulado com melhorias visuais e funcionais para agilizar tarefas de linha de comando. Essa atualização dá uma nova aparência para a nossa conhecida ferramenta, com comandos separados em blocos distintos, juntamente com um conjunto expandido de recursos, como navegação suave entre blocos, complementação de comandos e fácil acesso ao histórico de comandos. Saiba mais nesta postagem do nosso blog.
Introduzimos linhas fixas no editor para simplificar o trabalho com arquivos grandes e a exploração de novas bases de código. Esse recurso mantém os principais elementos estruturais, como inícios de classes ou métodos, afixados na parte superior do editor conforme você rola. Dessa maneira, os escopos permanecem sempre visíveis, e você pode navegar rapidamente pelo código clicando em uma linha afixada.
O AI Assistant recebeu várias atualizações valiosas, incluindo melhorias na geração de testes e complementação de código na nuvem, prompts personalizados para mensagens de commit, a capacidade de criar arquivos a partir de snippets de código e geração de código no editor atualizada. Saiba mais nesta postagem no blog.
Observe que o AI Assistant foi desagregado na versão 2024.1 e agora está disponível como um plug-in à parte. Essa mudança foi impulsionada pela necessidade de oferecer maior flexibilidade na tomada de decisões com relação ao uso de tecnologias alimentadas por IA, proporcionando a você mais controle sobre as suas preferências e exigências nos seus ambientes de trabalho. O AI Assistant ainda requer uma assinatura ativa do JetBrains AI.
Aprimoramos o realce de código para Java e Kotlin nas respostas do AI Assistant. O código no AI Chat agora é realçado da mesma maneira que seria no editor, facilitando a avaliação rápida. Essa melhoria foi projetada para tornar mais intuitivo o trabalho com as sugestões do AI Assistant, oferecendo uma experiência semelhante à de um editor diretamente no chat.
As funcionalidades básicas do IDE, como realce e complementação de código, agora funcionam para Java e Kotlin durante a indexação do projeto, o que deve aprimorar sua experiência de inicialização. Além disso, você pode navegar pelo código usando Go to class e Go to symbol enquanto o projeto ainda está carregando.
Para reduzir sua carga cognitiva durante a configuração de novos projetos, fizemos pequenos ajustes no layout do assistente New Project. A lista de linguagens agora está posicionada no canto superior esquerdo, melhorando a descoberta das opções mais populares.
Agora, você pode reduzir o tamanho do IDE para 90%, 80% ou 70%, oferecendo flexibilidade para ajustar o tamanho dos elementos do IDE para cima e para baixo.
O IntelliJ IDEA 2024.1 vem com a capacidade de injetar linguagens em templates de string. Você pode fazer isso com anotações, que selecionam automaticamente a linguagem necessária, ou usando a ação de intenção Inject language or reference (Alt+Enter) para selecionar manualmente uma linguagem em uma lista. Se você usar o último método, o IDE oferecerá a inserção da anotação da linguagem para você. Após realizar a injeção, você pode chamar novamente a lista de ações de intenção e optar por abrir e editar o fragmento injetado em um painel do editor separado.
Como o registro em log é uma parte importante do desenvolvimento diário, introduzimos uma série de atualizações para aprimorar essa experiência do usuário no IntelliJ IDEA. Agora, você pode navegar facilmente das mensagens de log no console até o código que as gera. Além disso, o IDE sugere adicionar loggers nos locais em que eles são necessários e simplifica a inserção de instruções de logger, mesmo quando a instância do logger não está no escopo. Saiba mais nesta postagem do nosso blog.
Implementamos novas inspeções e correções rápidas para Java, para ajudar a manter seu código limpo e sem erros. O IDE agora detecta operações bit a bit que podem ser substituídas por chamadas aos métodos Long.hashCode()
ou Double.hashCode()
para maior clareza. Além disso, uma nova solução rápida simplifica a alternância entre declarações de classe implícitas e explícitas com base nos requisitos da sua base de código. Outra nova inspeção sugere o uso de métodos estáticos existentes para combinar fragmentos de código, facilitando a reutilização do código sem a introdução de APIs adicionais. Além disso, o IDE agora detecta e relata códigos inacessíveis que nunca serão executados.
O IntelliJ IDEA 2024.1 oferece uma experiência de usuário aprimorada com bibliotecas JAR multiversão. Quando você usa uma classe que possui versões diferentes, o recurso Go to declaration agora seleciona a versão apropriada do JAR com base no nível de linguagem do seu módulo atual. Além disso, o recurso Go to class oferece informações extras sobre a versão da classe. Quando você usar Step Into durante a depuração, o IDE levará até a classe que corresponde à sua versão do JDK, e não ao nível de linguagem do seu módulo.
Na versão 2024.1, reformulamos a caixa de diálogo Conflicts Detected para melhorar a legibilidade. Agora o código na caixa de diálogo reflete o que está no editor, proporcionando uma visão mais clara dos conflitos, e o IDE salva automaticamente os ajustes de tamanho da janela para uso futuro. Além disso, atualizamos os botões e seu comportamento para agilizar o workflow de refatoração, e a caixa de diálogo agora está totalmente acessível por meio do teclado, o que significa que você pode usar atalhos e teclas de seta para uma interação perfeita.
Para tornar o processo de renomeação mais fácil e intuitivo, implementamos uma nova dica de inserção que aparece na parte superior do elemento de código alterado. Para atualizar todas as referências na base de código para a nova versão, basta clicar nessa dica e confirmar a alteração.
O IntelliJ IDEA 2024.1 apresenta o novo modo Kotlin K2, aproveitando o compilador K2 Kotlin integrado para análise aprimorada do código Kotlin. Essa atualização não só garante a compatibilidade com os próximos recursos do Kotlin, como também aumenta a estabilidade da análise de código, resultando em maior qualidade e confiabilidade dos recursos do IDE, bem como melhor desempenho geral dos aplicativos. Saiba mais.
A partir da versão 2024.1, o IDE aplica uniformemente o guia de estilo Kotlin oficial como opção padrão para todos os projetos, a menos que seja explicitamente especificado de outra forma. Se o seu projeto existente usar um estilo de código mais antigo sem ser configurado explicitamente, o IDE mudará automaticamente para o estilo de código das convenções de codificação do Kotlin e fornecerá uma notificação para alertar você sobre essa alteração. Para evitar alterações indesejadas na formatação, recomendamos que você se familiarize com este guia de migração de estilo de código.
A versão 2024.1 preserva com precisão as importações estáticas, garantindo que elas sejam transferidas exatamente como aparecem no código-fonte. Isso é particularmente valioso ao lidar com objetos aninhados, enums e importações estáticas do Java.
Na nova versão, corrigimos muitos problemas relacionados ao modo de tratamento de casos específicos de sintaxe no Scala 3. As melhorias incluem a capacidade de reconhecer combinações proibidas de modificadores, calcular a profundidade do recuo, cortar e colar operações sem quebrar o recuo e associar marcadores finais às suas estruturas de sintaxe. Também melhoramos o suporte ao Scala 3 no depurador, e a complementação automática agora lida com precisão com alguns casos extremos, como quando ela é usada junto com as palavras-chave using
e given
ou com unapply
ou com assinaturas unapply
.
Fizemos muitas pequenas melhorias e correções em como classes, características e declarações de métodos são realçadas em pop-ups Scaladoc e no pop-up de documentação rápida. Parâmetros genéricos aninhados agora são realçados corretamente, e modificadores de acesso a campos são exibidos. Além disso, o código dentro de blocos Scaladoc com colchetes triplos agora é realçado da mesma maneira que o código Scala padrão.
Até agora, se você mudasse para outro editor enquanto estivesse usando o realce baseado em compilador, o código seria recompilado automaticamente. Nós mudamos isso na versão 2024.1. A recompilação do código agora depende de o editor estar ou não em foco. Isso ajuda o realce baseado em compilador a reagir a alterações externas nos arquivos de origem e .class
mais rapidamente e a evitar situações em que o código válido fica vermelho.
O IDE agora adiciona um arquivo .gitignore
a novos projetos SBT. Corrigimos um problema em que uma exceção era lançada ao executar aplicativos Scala/JVM pela primeira vez com Use sbt for builds e garantimos que todas as dependências transitivas de um módulo fossem inseridas como dependências diretas durante a importação.
Para resolver o problema de compatibilidade entre versões mais antigas do framework Play (2.8 e anteriores) e o JDK 17, introduzimos um aviso que notifica sobre o uso de versões incompatíveis do Play e do JDK no assistente do Play.
Introduzimos novos ícones: um para a linguagem Scala no assistente New Project e outro para SBT em View | Tool windows. Você também perceberá melhorias sutis na maneira como as dicas embutidas são apresentadas, com cantos arredondados e alinhamento aprimorado. Além disso, adicionamos a documentação do Scala à página de ajuda Settings | Editor | CodeStyle. Em planilhas, erros de compilação são mais uma vez relatados corretamente na janela de build ao usar o Scala 2.13.12, e as importações não são mais marcadas incorretamente como não utilizadas antes da primeira compilação do código. Além disso, agora você pode definir o recurso X-Ray, garantindo que ele permaneça ativo mesmo após liberar a tecla Ctrl.
O IntelliJ IDEA 2024.1 apresenta uma experiência aprimorada de revisão de código para usuários do GitHub e GitLab com a implementação de um novo modo de revisão. Integrado ao editor, esse recurso facilita a interação direta entre autores e revisores. Ao verificar o branch da solicitação pull/merge, o modo de revisão é ativado automaticamente, e marcadores rosa aparecem na medianiz, indicando que alterações de código estão disponíveis para revisão. Clicar nesses marcadores revela um pop-up exibindo o código original, para que você possa identificar rapidamente o que foi alterado. Os ícones de medianiz ajudam você a iniciar novas discussões rapidamente, bem como a visualizar e ocultar as existentes. Eles também fornecem acesso fácil a comentários, facilitando a revisão, a resposta e a reação a eles. Saiba mais sobre essa mudança nesta postagem do nosso blog.
O IntelliJ IDEA 2024.1 agiliza o workflow de revisão de código, oferecendo uma visão dedicada das alterações relacionadas ao branch. Para GitHub, GitLab e Space, agora é possível ver alterações em um determinado branch numa aba Log separada dentro da janela de ferramentas Git. Para fazer isso, clique no nome do branch na janela de ferramentas Pull Requests e escolha Show in Git Log no menu.
O IntelliJ IDEA 2024.1 traz suporte para postar reações em comentários de revisão para solicitações pull do GitHub e solicitações merge do GitLab, com um conjunto de emojis já disponíveis para você escolher.
Introduzimos uma nova coluna na aba Log da janela de ferramentas Git, permitindo que você revise facilmente os resultados das verificações de commit no GitHub efetuadas pelo seu sistema de CI.
Depois de enviar com êxito suas alterações no sistema de controle de versão, o IDE alertará com uma única notificação informando sobre o sucesso no envio e sugerindo uma ação para criar uma solicitação pull/merge.
Introduzimos indicadores visuais para informar você sobre atualizações pendentes no seu workflow de revisão de código. Quando houver alterações que exigem sua atenção, um ponto aparecerá no ícone da janela de ferramentas. Solicitações pull invisíveis também serão marcadas com um ponto azul, garantindo que você não perca atualizações no seu processo de revisão de código.
Para ajudar você a evitar rejeições de controle de versão devido a arquivos grandes, o IDE agora inclui uma verificação de pré-commit que impede que se faça commit desses arquivos e que notifica você sobre a restrição.
A caixa de diálogo Merge into agora tem uma opção Allow unrelated histories no menu suspenso. Quando selecionado, permite o merge de duas branches mesmo que elas não tenham histórico em comum.
Na janela de ferramentas Git, o botão Show all branches foi substituído por um filtro de branch, permitindo revisar alterações feitas em um arquivo dentro de um branch designado. Também ajustamos a orientação da barra de ferramentas, posicionando-a horizontalmente para melhorar a usabilidade.
Para usuários que dependem de stashes para armazenar alterações temporárias não submetidas via commit, introduzimos uma aba dedicada na janela de ferramentas Commit para acesso conveniente. Se você usa stashes e shelves, tem a opção de habilitar uma aba Stashes and Shelves combinada por meio de uma caixa de seleção correspondente em Settings/Preferences | Version Control | Git.
No visualizador diff, agora você pode especificar pastas e arquivos a serem ignorados durante o processo de comparação para se concentrar apenas nas alterações relevantes. Basta clicar com o botão direito em qualquer arquivo ou pasta que você não deseja que apareça nos resultados da comparação e selecionar Exclude from results no menu de contexto.
No pop-up Branches, agora você pode filtrar os resultados da pesquisa por ações e repositórios para uma navegação mais rápida e precisa dentro do seu sistema de controle de versão.
Depois de analisar as estatísticas de uso, removemos a aba Git da caixa de diálogo Search Everywhere por padrão. Se quiser trazê-la de volta, você pode fazer isso por meio da caixa de seleção Show Git tab in Search Everywhere em Settings / Preferences | Advanced Settings | Version Control. Git.
O IntelliJ IDEA agora constrói o modelo do projeto analisando os arquivos pom.xml
. Isso torna possível obter uma estrutura de projeto funcional em poucos segundos, enquanto o modelo completo do projeto com todas as dependências é construído em segundo plano, permitindo que você mergulhe no projeto sem esperar que a sincronização completa termine.
Com o lançamento do IntelliJ IDEA 2024.1, estamos adicionando o tão esperado suporte para a funcionalidade de renomeação do plug-in Maven Shade. Agora, o IntelliJ IDEA está ciente do workflow de renomeação, fornecendo realce e navegação de código precisos ao trabalhar com seu shaded JAR e suas dependências.
O pop-up de documentação rápido agora fornece uma maneira fácil de baixar o código-fonte. Agora, quando você estiver visualizando a documentação de uma biblioteca ou dependência e precisar acessar seu código-fonte, basta pressionar F1. O pop-up atualizado fornecerá um link direto que você pode usar para baixar os arquivos-fonte necessários, agilizando seu workflow.
A lista de repositórios Maven, junto com seus status de indexação, agora é exibida na janela de ferramentas Maven, em vez de sua localização anterior nas configurações do Maven.
A partir dessa versão, o IntelliJ IDEA não oferece mais suporte a projetos que usam versões do Gradle anteriores à 4.5, e o IDE não executará a sincronização do Gradle para projetos com versões não suportadas do Gradle.
O IntelliJ IDEA 2024.1 oferece um workflow mais conveniente para definir pontos de interrupção em linhas que contêm funções lambda ou instruções de retorno. Depois de definir um ponto de interrupção clicando na medianiz, o IDE exibe automaticamente marcadores embutidos em que pontos de interrupção adicionais podem ser definidos. Cada ponto de interrupção pode ser configurado de forma independente, desbloqueando recursos avançados de depuração.
As chamadas de biblioteca agora são recolhidas por padrão na pilha de chamadas da janela de ferramentas Debug, ajudando você a manter o foco ao navegar pelo seu código. No entanto, se precisar verificar uma sequência de chamadas de biblioteca, você poderá expandir o grupo e explorar os quadros adequadamente. Para revelar a lista, use o ícone Filter na barra de ferramentas ou acesse o menu de contexto e desative a opção Hide Frames from Libraries.
A versão 2024.1 aproxima o IntelliJ IDEA de alcançar uma cobertura abrangente de testes. Essa atualização se concentra na identificação de quais instruções condicionais no código não são totalmente cobertas por testes. Agora, o IntelliJ IDEA mostra qual linha tem uma condição descoberta e especifica quaisquer branches condicionais ou valores de variáveis que não são cobertos. Esse recurso está habilitado por padrão, e você pode controlá-lo em Settings/Preferences | Build, Execution, Deployment | Coverage.
As configurações de cobertura de código foram movidas do pop-up Run Configuration para Settings/Preferences | Build, Execution, Deployment | Coverage. Essa mudança dispensa a necessidade de atualizar individualmente a configuração de cada execução de teste para selecionar um executor de cobertura ou ativar recursos avançados, como rastrear quais testes cobrem uma linha específica de código.
Agora, é mais fácil importar, navegar e analisar dados de cobertura de código que o executor JaCoCo reúne em seu pipeline de CI/CD. Um link direto para importar relatórios JaCoCo agora aparece na janela de ferramentas Coverage se nenhum relatório for exibido lá. Também atualizamos a barra de ferramentas da janela com um ícone de importação que permite recuperar o relatório JaCoCo como um arquivo .exec
.
O IntelliJ IDEA Ultimate agora oferece complementação automática para todos os beans do contexto do aplicativo e os conecta automaticamente. Se um bean conecta automaticamente dependências por meio do construtor, o campo relacionado também é automaticamente conectado por meio do construtor. Da mesma maneira, se dependências forem injetadas por meio de campos ou pela anotação @RequiredArgsConstructor
do Lombok, o novo bean será conectado automaticamente por meio do campo.
Facilitamos o acesso a diagramas de modelos Spring. Você pode chamá-los usando marcadores de linha de bean ou usando uma ação de intenção (Alt+Enter) em classes Spring. Introduzimos novos ícones para diagramas Spring, aprimorando a visualização de estereótipos Spring como componentes, controladores, repositórios e beans de configuração. Além disso, agora você pode alternar convenientemente a visibilidade dos beans das bibliotecas, que ficam ocultas por padrão.
O Cliente HTTP na versão 2024.1 oferece mais opções de autenticação, incluindo o Código de autorização PKCE e Fluxos de concessão de dispositivo. Ele também oferece suporte a parâmetros extras para solicitações de token e autenticação, além de lidar automaticamente com a geração de code_challenge
e a passagem de code_verifier
para recuperação de tokens durante solicitações PKCE. O upgrade do Cliente HTTP para Netty como sua biblioteca de rede de baixo nível permite suporte a SSL, proxies e HTTP/2, facilitando a implementação de HTTP/2. Além disso, a barra de ferramentas do Cliente HTTP foi reformulada para se alinhar ao estilo da nova UI, proporcionando uma aparência mais refinada e coesa.
Aprimoramos a caixa de diálogo Search Everywhere introduzindo uma aba Endpoints, que aparece em projetos nos quais os resultados de pesquisas de URL são pertinentes. Atualmente, o IDE inclui essa aba automaticamente quando detecta a presença das tecnologias Spring, Micronaut, Ktor ou Quarkus no seu projeto.
Cabeçalhos HTTP agora são facilmente complementados em todos os cenários comuns, como com testes Spring WebClient e REST Assured. Quando um valor esperado é encontrado, um pop-up de complementação aparece automaticamente.
Otimizamos o código por trás da validação e complementação de esquemas JSON. Como resultado, o IDE agora realiza essas tarefas com mais rapidez e consumo de memória reduzido. Em arquivos reais com o Azure Pipelines, as inspeções de esquema agora são 10 vezes mais rápidas.
Introduzimos um novo editor de configurações para configurações de execução do Quarkus. Agora, a caixa de diálogo Run/Debug Configuration oferece uma IU aprimorada para projetos Maven e Gradle, com fácil acesso a configurações populares como Run profile e Environment variables. Para sua conveniência, a IU do Quarkus Dev é facilmente acessível por meio de um novo ícone adicionado à barra de ferramentas da janela de ferramentas Run.
O IntelliJ IDEA Ultimate 2024.1 integra OpenRewrite, expandindo os recursos de refatoração existentes do IDE e fornecendo um kit de ferramentas para melhorar a qualidade, a consistência e a capacidade de manutenção do código. Usando as fórmulas do OpenRewrite, você pode modernizar o código legado, otimizar o desempenho e lidar com tarefas de migração complexas, como fazer upgrade para uma nova versão do Spring Boot.
Implementamos o suporte para WireMock por meio de um plug-in que você pode instalar de dentro do IDE ou obter no JetBrains Marketplace. Essa integração inclui a complementação de esquemas em configurações JSON, a capacidade de gerar arquivos de stub do WireMock na janela de ferramentas Endpoints e uma configuração de execução integrada que permite inicializar seus servidores diretamente a partir do editor. Essa adição permite criar rapidamente servidores ou stubs de dados de teste, simplificando o desenvolvimento de IUs e microsserviços Web.
O IntelliJ IDEA Ultimate 2024.1 traz suporte aprimorado ao Terraform que simplifica o processo de criar, gerenciar e dimensionar da sua infraestrutura. O IDE agora simplifica a inicialização por meio de uma sugestão explícita para executar terraform init
e oferece recursos estendidos de complementação de código para mais de 3.900 provedores terceirizados do Terraform. Além disso, o IDE introduz suporte para a linguagem de template do Terraform (tftpl), permitindo modelagem dinâmica com a opção de integrá-la perfeitamente à sua linguagem de programação preferida. Você encontra mais detalhes em uma postagem no nosso blog.
Esse lançamento apresenta o tão aguardado recurso de filtragem local no editor de dados. Agora, você pode filtrar linhas rapidamente por valores de colunas sem enviar consultas ao banco de dados. Essa abordagem local afeta apenas a página atual, embora você possa ajustar o tamanho da página ou obter todos os dados se precisar ampliar o escopo. Para desabilitar todos os filtros locais, desmarque o ícone Enable Local Filter designado.
O IntelliJ IDEA Ultimate 2024.1 agiliza a execução de consultas, eliminando a necessidade de selecionar sessões manualmente. Para anexar um arquivo, basta escolher a fonte de dados, em vez da sessão. Além disso, o lançamento de funções não requer mais a seleção de uma sessão. Agora, você pode optar por executar funções diretamente do console ou arquivo. Essas mudanças visam minimizar a curva de aprendizado da ferramenta, reduzindo etapas desnecessárias e melhorando a usabilidade geral.
Melhoramos significativamente o pop-up de documentação rápida. Agora, ele oferece suporte para realce de sintaxe de blocos de código. No TypeScript, ele agora mostra membros da interface, constantes enum e corpos de alias de tipo. Você pode usar o link Show more para expandir a lista completa de membros de tipos e navegar até os tipos referenciados. Além disso, agora é possível navegar entre várias declarações de interfaces, aliases de tipo, enums, funções e outras entidades usando o controle de paginação na parte superior da caixa de diálogo.
O IntelliJ IDEA Ultimate 2024.1 apresenta várias novas correções rápidas para React que permitem criar props e estados dinamicamente. Você pode aplicar essas soluções rápidas usando o atalho Alt+Enter.
Você encontrará o novo widget Language Services na barra de status, fornecendo informações sobre os serviços de linguagem ativos para o arquivo e o projeto atuais. É possível reiniciar os serviços ou navegar até suas configurações diretamente desse widget.