O IntelliJ IDEA 2020.3 adiciona dicas interativas e inspeções inline no depurador, melhora o suporte para Java 15 e apresenta suporte para preparações do Git, além de uma variedade de outros recursos. Continue lendo para saber mais sobre todos eles!
A tela de boas-vindas do IntelliJ IDEA foi redesenhada. O assistente inicial foi substituído por uma tela de acesso rápido contendo quatro guias: Projects para gerenciar seus projetos, Customize para configurar a interface do IDE, Plugins para a instalação de plug-ins e Learn IntelliJ IDEA para acessar recursos de ajuda e aprendizado.
Abra a guia Learn IntelliJ IDEA diretamente na tela de boas-vindas. Aqui, você pode encontrar lições interativas e links de ajuda úteis. Clique em Start Learning para estudar vários recursos do IDE passo a passo em um ambiente real. Siga as instruções na visualização Learn para testar suas novas habilidades em amostras de codificação reais.
Agora, o IntelliJ IDEA pode sincronizar seu tema com o tema do sistema operacional. Para habilitar esse recurso, acesse Settings / Preferences | Appearance & Behavior | Appearance e marque a caixa de seleção Sync with OS. Clique no ícone de engrenagem ao lado de Sync with OS para selecionar seu tema preferido.
Arquivos somente leitura e arquivos de bibliotecas externas agora são abertos por padrão no modo Leitor. Nesse modo, os comentários parecem texto formatado, e ligaduras de fonte estão habilitadas para ajudar a tornar o código mais legível para os usuários. Você pode personalizar as configurações do modo Leitor em Settings / Preferences | Editor | Reader Mode.
No IntelliJ IDEA 2020.3, melhoramos a experiência do usuário para o modo LightEdit. Para abrir arquivos no modo LightEdit a partir da linha de comando, você agora digita -e
(--edit
) seguido pelo nome do arquivo que deseja abrir ou omite o nome do arquivo para reabrir a sessão anterior. Uma nova barra de status na janela LightEdit fornece acesso ao conjunto completo de recursos do IDE. Se quiser saber mais sobre as atualizações no modo LightEdit, leia este post de blog.
Agora, quando você pressiona Alt+Enter, o IDE chama sugestões para corrigir sua gramática ou ortografia. Além disso, começamos a usar uma nova versão do mecanismo de verificação gramatical LanguageTool, que melhora as revisões de texto em inglês e adiciona suporte para mais de 10 idiomas.
Adicionamos uma nova guia Git à caixa de diálogo Search Everywhere. Agora você pode encontrar hashes e mensagens de submissão, tags e branches na caixa de diálogo Search Everywhere. Também pode fazer cálculos matemáticos simples no campo de pesquisa.
Agora, você pode abrir um arquivo em uma guia de visualização com um único clique. Ao abrir um arquivo em uma guia de visualização, seu nome é exibido em itálico. Se você começar a editar esse arquivo, ele deixará de ser uma visualização e se tornará um arquivo comum. Se você clicar uma vez em outro arquivo para abri-lo no modo de visualização, ele aparecerá na mesma guia, substituindo o arquivo anteriormente aberto. Para habilitar este recurso, clique no ícone de engrenagem na exibição Project e selecione Enable Preview Tab.
Na v2020.3, adicionamos um seletor de emojis para Linux 🥳. Para abrir o seletor de emojis, pressione Ctrl+Alt+; . Você pode filtrar emojis por categoria, alterar seu tom de pele e pesquisar emojis por nome. O seletor de emojis é totalmente compatível com a navegação pelo teclado.
A partir da v2020.3, é possível migrar para o JDK mais recente a partir de um pop-up que aparece sempre que um upgrade está disponível. Você pode escolher se deseja instalá-lo ou ignorá-lo.
Facilitamos a extração de métodos Java – basta pressionar ⌥⌘M no macOS ou Ctrl+Alt+M no Windows ou Linux ou selecionar Refactor / Extract / Introduce / Method…, e o IDE fará a extração imediatamente.
Com as novas preferências para renomear que aparecem em uma dica embutida, agora é possível selecionar se você deseja renomear ocorrências em comentários e literais de string ou em texto imprimível. Para chamar essa dica, pressione ⇧F6 no macOS ou Shift+F6 no Windows e Linux e depois pressione Tab. Você pode alterar o atalho para Show Options Popup for In-place Refactoring em Settings / Preferences | Keymap.
Se você deseja ter várias guias abertas enquanto trabalha em um projeto, agora pode arrastar e soltar as guias de arquivo para dividir o editor na horizontal ou vertical. Também introduzimos a ação Open in Right Split, que divide o editor verticalmente ao abrir seu arquivo. Chame essa ação na exibição Project ou em outros pop-ups de navegação, como Recent Files, Search Everywhere e <0>Navbar.
Na versão v2020.3, o novo ícone de alfinete é mostrado para guias afixadas. Ao clicar nele, você desafixará o arquivo. Você também pode afixar e desafixar suas guias arrastando-as e soltando-as sobre outros arquivos afixados ou desafixados. Se você costuma abrir muitas guias, pode manter todas elas afixadas em uma só linha. Para isso, acesse Settings / Preferences | Editor | General | Editor Tabs e marque a caixa Show pinned tabs in a separate row.
Agora, a ferramenta Markdown tem uma UI de visualização melhor e aprimora ainda mais a experiência dos usuários. Você pode personalizar o formato de Markdown em Settings / Preferences | Editor | Code Style | Markdown. Pressione ⌘+Alt+L no macOS ou Ctrl+Alt+L no Windows ou Linux para aplicar a formatação. O botão Auto-Scroll Preview no canto superior direito do editor permite sincronizar a rolagem do painel de visualização e do editor. We’ve also added support for Mermaid.js.
Agora, você pode definir o IntelliJ IDEA como o aplicativo padrão para abrir arquivos. Em Preferences | Settings / Editor / File Types, clique no botão Associate file types with IntelliJ IDEA.. Na caixa de diálogo que é aberta, selecione as extensões dos arquivos que você deseja abrir no seu IDE. Se você usa o macOS, precisará reiniciar o computador para aplicar essas alterações.
Em Preferences / Settings | Editor | File and Code Templates, agora é possível adicionar um modelo que cria vários arquivos. Primeiro, clique em + para criar um novo modelo. Para adicionar outro arquivo a ele, clique no ícone Create Child Template File ao lado de +. No campo File name, você pode inserir um padrão para gerar um nome de arquivo e um caminho usando variáveis listadas na seção Description.
Quando sua aplicação está sendo executada no modo de depuração, você pode clicar nas variáveis para obter dicas embutidas que contêm campos relacionados cujos valores podem ser alterados. Clique em Create Renderer dentro dessa nova dica inline para abrir uma caixa de diálogo na qual é possível configurar a exibição de valores inline em todas as exibições do depurador.
Adicionamos um novo tipo de expressões de inspeção que serão associadas a um contexto específico e mostradas dentro do editor. Para criar essas novas expressões de inspeção, você pode clicar em Add as Inline Watch no pop-up de dica inline, selecionar Add Inline Watch no menu de contexto ou clicar com o botão direito do mouse em uma variável no editor. Você pode gerenciar suas inspeções inline em um novo nó Inline Watches na guia Variables da janela da ferramentas Debug.
Opções básicas de criação de perfil agora estão disponíveis enquanto o depurador está execução. Chame os novos recursos de criação de perfil no menu de contexto da janela de ferramentas Debug. O primeiro é Show referring objects, que encontra o caminho mais curto de um objeto até as raízes de GC. O segundo é Calculate retained size, que calcula o tamanho retido de um objeto e mostra seu conjunto retido.
Agora, apenas uma guia é aberta por sessão de depuração para uma tarefa do Gradle. Ela contém Frames e Variables, bem como a saída Console. Os controles do depurador agora funcionam corretamente. Se quiser reverter para a lógica de depuração usada anteriormente, desmarque a caixa de seleção Reuse Gradle debug session for forked processes na tela Edit configurations….
Na janela de ferramentas Profiler redesenhada, você pode anexar o profiler a uma aplicação em execução. Na lista de todos os processos Java em execução, pressione Enter para chamar Attach Profiler to a Process e selecione qual ferramenta integrada você deseja usar. Na área Recent Snapshot, você pode acessar rapidamente quaisquer snapshots criados anteriormente.
A pesquisa de gráficos flame agora está mais simples, apresentando um campo de pesquisa visível, setas para cima/baixo para agilizar a navegação, um filtro que permite pesquisar em todo o gráfico flame ou apenas em uma subárvore específica.
Não há mais necessidade de contornar o processo de abrir arquivos .jfr
e .hprof
! Para abrir qualquer arquivo desses tipos rapidamente, arraste e solte no editor, abra-o com File | Open ou clique nele duas vezes na exibição Project.
Agora, é possível definir o perfil das suas configurações de execução Maven e Tomcat locais da mesma maneira que você faria com qualquer outra configuração de execução. Clique com o botão direito no item cujo perfil você deseja definir e selecione a opção de definição de perfil necessária: CPU, Allocation ou Java Flight Recorder.
Agora, você pode preparar alterações diretamente do seu IDE. Para habilitar esse recurso, acesse Settings / Preferences | Version Control | Git e marque a caixa de seleção Enable staging area. Clique no ícone + para adicionar seus arquivos ao novo nó Staged na exibição Commit. Você também pode preparar mudanças diretamente na medianiz ou na exibição Diff. Para saber mais, leia nosso post de blog.
O menu VCS agora recebe um nome de acordo com o sistema de controle de versão que você está usando no momento. Tornamos o menu mais conciso, removendo todas as ações, exceto aquelas mais úteis para o controle de versão do seu projeto. Se o seu projeto usa apenas o Git, o menu VCS será parecido com a imagem acima.
Quando você cria novos branches, o IDE corrige automaticamente os símbolos não aceitos em nomes de branches. Reformulamos o menu de contexto do branch atual para mostrar as ações relacionadas. Para branches remotos, renomeamos as ações Merge into Current e Rebase Current onto Selected como Pull into Current Using Merge e Pull into Current Using Rebase, respectivamente.
Reorganizamos o recurso Run/Debug Configurations para torná-lo mais limpo, com as configurações mais frequentemente usadas agora localizado em uma só tela. Os campos obrigatórios contêm rótulos e estão organizados na mesma ordem da linha de comando. Se você precisar configurar outros parâmetros, clique em Modify options.
No IntelliJ IDEA 2020.3, você pode armazenar modelos de configuração de execução como arquivos XML e, em seguida, compartilhá-los com colegas de equipe via Git ou outro VCS. Para habilitar os recursos, acesse Edit Configurations …, expanda o nó Templates, selecione um modelo de configuração, marque a caixa de seleção Store as project file e defina um caminho para armazenar esse modelo de configuração.
O IntelliJ IDEA 2020.3 oferece suporte ao Code With Me (EAP) – um novo serviço para desenvolvimento colaborativo e programação em pares. O Code With Me permite que você compartilhe o projeto aberto no momento no seu IDE com outras pessoas e trabalhe nele em tempo real. Obtenha-o no Marketplace de plug-ins (Preferences / Settings | Plugins | Marketplace). Confira estes posts para saber mais sobre o Code With Me.
Adicionamos uma nova ação de intenção que permite converter registros em classes. Ela pode ser útil quando você deseja fazer downgrade da sua base de código. Você pode ler sobre quando e como usar registros neste post de blog.
In this release, we’ve added completion, code insight, and refactorings for sealed classes. Ao usar o modificador sealed, você declara uma classe como uma classe lacrada, que permite definir quais outras classes podem estendê-la e quais classes não podem ser estendidas. As subclasses podem ser finais, não lacradas ou lacradas. Para conhecer alguns exemplos de como isso pode ser usado, leia este post de blog.
As sugestões de complementação de código se tornaram mais inteligentes e dependentes do contexto, graças à nova tecnologia de aprendizado de máquina que classifica melhor as sugestões e exibe as mais relevantes primeiro. Para ver como o novo sistema de classificação altera a ordem das sugestões, acesse Settings / Preferences | Editor | General | Code Completion e marque a caixa de seleção Mark position changes in the completion popup.
Se os seus arquivos usam um mecanismo Shebang, o IntelliJ IDEA identifica isso automaticamente e permite que você os abra corretamente e use o insight de código. O realce para arquivos com shebang (#!
) também funciona.
No IntelliJ IDEA 2020.3, introduzimos novas inspeções que podem ajudar você a melhorar seu código. Uma das inspeções mais importantes é Commented out code, que permite excluir ou remover a marca de comentário em linhas que foram assinaladas como comentário. Você pode saber mais sobre as outras novas inspeções no IntelliJ IDEA 2020.3 neste post de blog.
Quando você cria uma classe do zero, agora o recurso de complementação oferece classe, interface, enumeração ou registro após a declaração de nível superior Public. Se você usar os métodos String.toUpperCase
ou String.toLowerCase
, agora será solicitado a usar Locale.ROOT. Quando você estiver prestes a chamar String.getBytes()
, o IDE sugerirá o uso do conjunto de caracteres UTF_8.
A conversão entre linguagens agora é possível, o que significa que você pode incorporar elementos Kotlin em Java. Você também pode fazer a refatoração inline das funções de escopo also, let, run, apply e with. Melhoramos a incorporação inline de expressões Lambda para o IDE a fim de analisar sua sintaxe de maneira mais completa e formatá-las corretamente.
Introduzimos suporte a ações de pesquisa e substituição estruturais (SSR) para o Kotlin. Você pode localizar e substituir padrões de código, levando em consideração a sintaxe e a semântica do código-fonte. Filtros para variáveis permitem restringir sua pesquisa.
O ciclo de lançamento do plug-in Kotlin IDE agora está sincronizado com o ciclo de lançamento do IntelliJ IDEA. Também movemos o plug-in Kotlin IDE para um novo repositório que é combinado com a base de código do IntelliJ IDEA para minimizar o tempo que levamos para detectar as alterações da plataforma.
Nesta versão, melhoramos significativamente a janela de ferramentas Endpoints, que mostra APIs de cliente e servidor para protocolos HTTP e WebSocket. Ele apresenta uma exibição mais conveniente de terminais agrupados por módulo com uma opção para tornar a lista mais compacta. Você pode usar uma pesquisa abrangente com filtros, vários parâmetros de pesquisa e complementação. É possível ler a documentação de cada endpoint em uma nova guia. Se os endpoints tiverem URLs associadas, você poderá ver uma representação Open API deles e acessar um cliente HTTP assistemático.
Agora, você pode exportar uma solicitação HTTP para cURL pressionando Alt+Enter no editor de solicitações HTTP e selecionando a opção Convert to cURL and copy to clipboard.
Agora, a complementação de URL é mais informativa, com ícones de framework, métodos HTTP e locais de origem das classes ou dos arquivos em que você declarou o endpoint. URLs obsoletas são exibidas com formatação em tachado.
Adicionamos acesso rápido a algumas ações importantes para URLs. Clique no ícone de globo ao lado da URL para acessá-las. Essas ações estão disponíveis atualmente para os frameworks Spring MVC, WebFlux, Feign Client, JAX-RS, Micronaut e Retrofit.
Agora, oferecemos suporte a insight de código para Spring MVC Functional Routing, RESTOperations, Spring WebTestClient e Spring Reactive WebClient. Também exibimos endpoints declarados com eles. Adicionamos complementação de código e navegação para projetos Kotlin Spring Security.
Se você ainda usa solicitações HTTP no formato de cliente HTTP antigo, pode convertê-las facilmente clicando em Convert request to the new format, na parte superior de uma solicitação aberta. Outras maneiras de fazer isso são por meio do menu de contexto na exibição Project ou do editor de solicitações HTTP.
Melhoramos significativamente o insight do código em vários casos, incluindo quando você deseja fazer referência a definições externas com a palavra-chave $ref
. Como outra atualização importante, adicionamos suporte ao Swagger Hub para você obter especificações públicas e privadas do Swagger Hub e abri-las na janela de ferramentas Endpoints. Outro recurso interessante é que a UI do Swagger agora é sincronizada com o tema Darcula.
Seus novos projetos Quarkus e Micronaut criaram automaticamente configurações de execução, o que significa que você pode executar e depurar sua aplicação imediatamente. Se você decidir alterar as configurações Quarkus em Edit Configurations, a seção Environment apresentará apenas as configurações aplicáveis ao Gradle ou ao Maven, dependendo de qual delas você for usar para compilar seu projeto.
O IntelliJ IDEA 2020.3 apresenta complementação para métodos predefinidos que você usa ao criar interfaces de repositório. Também adicionamos suporte para a anotação @Query
do Micronaut, que ajuda na criação de consultas personalizadas. Com essa anotação, você pode usar a linguagem JPQL para fragmentos de código.
O Scala Compile Server agora compila módulos independentes em paralelo. Ajustamos as opções da VM padrão para oferecer suporte a até 4 threads de compilação por padrão, o que pode acelerar muito a compilação. Se a sua máquina tem muitos núcleos de CPU e muita RAM, fique à vontade para ajustar os valores padrão a fim de melhorar ainda mais os tempos de compilação.
Para aumentar a eficiência da compilação paralela, talvez você queira otimizar a estrutura dos módulos do seu projeto e as opções de VM do Compile Server. Adicionamos gráficos de compilação para ajudar com isso. Agora, você pode dizer rapidamente quando há potencial para otimização. Por exemplo, um gráfico pode ajudar a identificar módulos que estão agindo como gargalos, oportunidades para aumentar o número de threads e casos em que o tamanho máximo do heap precisa ser ajustado. Com compilação mais rápida e gráficos dinâmicos para manter sua atenção, a famosa mensagem "Compiling" agora é coisa do passado.
Agora, o plug-in Scala pode combinar prefixos de pacotes do IntelliJ IDEA com cláusulas de pacote encadeadas e importações relativas do Scala. Embora cada um desses recursos seja bastante obscuro, em vez de aumentar exponencialmente o nível de obscuridade, essa combinação fornece um sistema intuitivo e internamente consistente (mais informações). Você não precisa mais aturar cadeias de diretórios vazios ou repetir o mesmo prefixo de pacote indefinidamente. Você pode manter seus diretórios e pacotes arrumados e organizados.
O plug-in Scala já oferece suporte a JUnit, ScalaTest, uTest e Specs2. Já é hora de adicionarmos outra entrada a essa lista. O suporte para MUnit agora está disponível com todas as vantagens de sempre.
O plug-in IntelliJ Scala já incluiu suporte para o próximo Scala 3 por um bom tempo e estamos trabalhando bastante para acompanhar todas as novas atualizações. Particularly, the Scala plugin now understands the new syntax for main methods. A engenharia de Hello Worlds nunca foi tão fácil!
Integramos o serviço de linguagem TypeScript à janela de ferramentas Problems e removemos a janela de ferramentas TypeScript. Fizemos essa alteração para facilitar a revisão de problemas no seu código de um só lugar. Também movemos as ações anteriormente disponíveis na janela de ferramentas TypeScript para um widget dedicado na barra de status.
Tem um componente React não resolvido no seu código? Posicione o sinal de intercalação, pressione Alt+Enter, selecione Create class/function component na lista, e o IDE criará o construto de código relevante para você.
Confira Novidades no WebStorm para conhecer as outras melhorias de JavaScript que também estão disponíveis no IntelliJ IDEA 2020.3.
Agora, você pode baixar logs na sua máquina local - basta clicar no botão Download Log no painel esquerdo da janela de ferramentas Services. Por padrão, seus pods serão salvos em Scratches e Consoles | Kubernetes Files | <contexto> | <namespace> | pods, mas você pode alterar essas configurações na seção Pod Logs de Settings / Preferences | Build, Execution, Deployment | Kubernetes.
Duas novas ações foram adicionadas ao painel esquerdo da janela de ferramentas Services: Open Console para conectar contêineres que incluem consoles e Run Shell para iniciar o Shell para um contêiner de pod. Clique no ícone de ferramentas para ter acesso rápido à seção Pod Shell das configurações.
Agora, é possível carregar esquemas de CRD automaticamente de um cluster ativo. Para fazer isso, acesse Preferences / Settings | Languages & Frameworks | Kubernetes e marque a caixa de seleção Use API schema from an active cluster.
Agora, você pode usar o SQL para consultar bancos de dados MongoDB. IntelliJ IDEA 2020.3 supports SELECT queries with clauses such as JOIN, WHERE, GROUP BY, HAVING, ORDER BY, LIMIT, OFFSET, and all available MongoDB functions except map, reduce, filter, and let. Se quiser saber mais sobre o SQL para MongoDB, leia este post de blog.
O IDE agora oferece suporte ao serviço Couchbase Query. Também introduzimos dois novos extratores: One-Row, que permite copiar uma coluna para uma string separada por vírgulas, e SQL-Insert-Multirow, que gera uma única instrução INSERT com várias novas linhas a serem inseridas.
Existem outras atualizações úteis que você pode usar na sua rotina diária: