O IntelliJ IDEA está se preparando para dar as boas-vindas aos novos recursos do Java 13 Preview. O IDE fornece suporte para expressões Switch atualizadas e sua nova sintaxe: agora, se você precisar retornar um valor de um bloco de várias linhas no Java 13, poderá usar a palavra-chave "yield" em vez de "break". Também adicionamos suporte para blocos de texto, o que permite incorporar blocos de texto de várias linhas mais longos no seu código-fonte, por exemplo, HTML ou SQL. Com esse recurso, você pode colar nos dois formatos, escapando valores ao colar em uma String ou deixando de fora os escapes ao colar em um bloco de texto.
Adicionamos uma nova intenção que você pode executar para transformar um método com vários retornos em um único ponto de saída e prepará-lo para a refatoração "Inline Method". Um método pode incluir vários pontos de saída, definindo várias instruções de retorno. Ao incorporar esse método no IntelliJ IDEA, ele pode ser modificado para definir apenas um ponto de saída na forma de uma única instrução de retorno para sair do método. Esses métodos são menos confusos, pois você tem um caminho por deles e não precisa procurar a saída.
Reformulamos a boa e velha inspeção "Constant conditions & exceptions" com uma nova ação chamada "Find Cause". Além de notificá-lo sobre problemas possíveis ou reais, a inspeção direciona você até o trecho de código questionável. Chega de ler todo o arquivo em busca da linha necessária.
Combinamos a inspeção "Duplicated code fragment" para Java com a ferramenta "Locate duplicates" para outras linguagens, para fornecer uma nova e poderosa inspeção chamada "Duplicated code fragment", que combina o melhor dos dois mundos. Ela é configurável, funciona em tempo real e tem suporte para várias linguagens além do Java.
No IntelliJ IDEA 2019.2, alteramos a aparência do pop-up de preenchimento de código e o tornamos ainda mais útil. De agora em diante, o preenchimento reconhece padrões com erros de digitação e sugere possíveis correções. Portanto, se você digitar "retru" acidentalmente, o IDE sugerirá a substituição por "return".
A pesquisa estrutural é um recurso poderoso que permite procurar um padrão de código específico no seu projeto. O IntelliJ IDEA realça sequências que correspondem à sua pesquisa no editor enquanto você digita. Além disso, o IDE exibe os valores de filtro diretamente na área de edição da caixa de diálogo Structural Search. Não há mais necessidade de repetir a execução da pesquisa continuamente enquanto você está testando o padrão.
Agora, você pode analisar o desempenho do seu aplicativo diretamente do seu IDE, pois o IntelliJ IDEA está integrado ao Java Flight Recorder no Windows, macOS e Linux.
Os usuários do macOS e do Linux também podem aproveitar o Async Profiler. Essa ferramenta pode se tornar facilmente a sua melhor amiga, pois ela mostra tudo sobre como a memória e a CPU estão alocadas no seu aplicativo.
Agora, você tem tudo o que precisa para controlar tudo em uma só exibição. Uma nova janela de ferramentas "Services" condensa e agrupa as ferramentas mais úteis: as exibições RunDashboard, Database Console, Docker e Application Servers. Ela também fornece um único ponto de exibição e controle para conexões, configurações de execução e depuração, servidores de aplicativos, consoles de banco de dados e muito mais. Para bancos de dados, a janela da ferramenta apresenta o timer em tempo real da consulta, que mostra a duração de cada conexão executando uma consulta.
No IntelliJ IDEA 2019.2, é possível exibir o sistema de arquivos de um contêiner do Docker em execução na guia Files do nó do Docker na janela da ferramenta Services.
Essa versão melhora o desempenho e a responsividade da interface do usuário para a atualização do sistema de arquivos, além de reduzir a maioria dos atrasos causados pelo processamento de alterações no sistema de arquivos. Nós nos esforçamos ao máximo para otimizar o desempenho da inicialização. Você sentirá o impulso assim que iniciar o IDE.
Agora, você pode ter uma configuração de estilo de código separada para cada pasta. Gostaria de experimentar? Coloque um arquivo EditorConfig no diretório raiz de um módulo ou pacote e pronto.
O IDE agora pode gerenciar todas as configurações de estilo de código por meio do arquivo EditorConfig. Todos os ajustes agora estão visíveis na pré-visualização. Portanto, seus dias de trabalhar às cegas com as configurações terminaram.
O IntelliJ IDEA agora está integrado ao editor TextMate para fornecer realce de sintaxe pronto para uso em mais de 20 linguagens de programação diferentes. Se você precisa adicionar realce para linguagens adicionais, tudo o que precisa é fazer é baixar o pacote TextMate da linguagem em questão e importá-lo para o IDE.
Agora, você pode escolher onde colocar o sinal de intercalação: no final da palavra atual ou no início da próxima palavra. Escolha o comportamento que funciona melhor para você na opção "Caret Movement", em Settings/Preferences | Editor | General.
Outro recurso para ajudá-lo a digitar mais rápido agora está habilitado imediatamente: a tecla Tab navega para fora dos colchetes ou das aspas de fechamento. Esse recurso funciona apenas quando você está digitando.
Para desabilitar essa opção, acesse Settings/Preferences | Editor | General | Smart Keys e desmarque a caixa de seleção "Jump outside closing bracket/quote with Tab when typing".
Embora não seja tecnicamente novo, esse recurso super útil agora está habilitado por padrão: quando você digita um caractere de chave ou aspas, o IntelliJ IDEA agrupa automaticamente o código selecionado entre chaves ou aspas.
Se você não gosta tanto desse recurso quanto nós, acesse Settings/Preferences | Editor | General | Smart Keys e desmarque a caixa de seleção "Surround selection on typing quote or brace".
Alteramos o mapa de teclas padrão para macOS do Mac OS X para o macOS 10.5+. Também renomeamos os mapas de teclas: "Mac OS X 10.5" agora se chama "Default for macOS", e o "Mac OS X" desatualizado agora se chama "IntelliJ IDEA Classic".
Agora, você pode abrir facilmente arquivos maiores que 25 MB no IntelliJ IDEA e pesquisá-los sem esperar tediosamente. Esta é uma pequena melhoria muito interessante para aqueles que trabalham com arquivos de log.
Esta versão fornece correções sugeridas por inspeções de código ainda mais rapidamente. Agora, o pop-up de inspeções não só descreve o problema, como também mostra a solução mais relevante imediatamente. Pressione Alt+Shift+Enter se a correção funcionar para você, ou use o atalho Alt+Enter para escolher outra opção da lista.
A caixa de diálogo "New Class" está com um novo visual. Além disso, agora ela permite visualizar os tipos de classes que você pode criar.
No Windows 10, o IDE agora tem um novo visual moderno sem fronteiras.
Uma nova opção ajuda você a ficar de olho no que está acontecendo no seu projeto e mostra o tamanho e os carimbos de data/ hora de modificação para todos os itens na árvore "Project View". Para habilitar o recurso, selecione View | Appearance | Descriptions in Tree Views.
O design das guias de editores e depuradores mudou para ter o mesmo visual nos temas "Light" e "Darcula". No tema "Light", alinhamos a altura da guia com a altura do cabeçalho da janela de ferramentas. Também removemos a linha branca sob as guias para minimizar a confusão visual.
Continuando a tendência de remover ícones impopulares das barras de ferramentas e tornar estas últimas menos carregadas visualmente, reduzimos a barra de ferramentas da janela da ferramenta "Find Usages". Alguns ícones agora estão agrupados, e outros desapareceram completamente.
Nesta versão, adicionamos o tão esperado diagrama de dependências do Gradle. Basta clicar no ícone "Show Dependencies" na barra de ferramentas da janela de ferramentas do Gradle ou pressionar Alt+Shift+Ctrl+U/Alt+Shift+Cmd+U. Selecione os nós desse diagrama para examinar seus vizinhos e clique nos nós para ver como eles estão conectados à raiz.
A partir da versão 2019.2, você pode editar arquivos build.gradle com mais facilidade. O IntelliJ IDEA agora tem suporte para a sintaxe de declaração de tarefas e várias notações de dependências e oferece preenchimento de código dentro de blocos de dependência e fechamentos de configuração de dependências.
A árvore de status e o console de saída de operações do Gradle agora aparecem lado a lado para ajudá-lo a monitorar o processo de sincronização/compilação. Isso oferece informações de saída do Gradle mais detalhadas e familiares.
O IntelliJ IDEA agora relata o processo de importação do Maven na janela de ferramentas Build, juntamente com a saída de compilação do Maven. Isso torna o relatório de progresso e erros mais visível, simplifica a navegação e torna a experiência com o Gradle/Maven mais consistente.
O preenchimento de código para dependências em pom.xml agora funciona imediatamente. Antes, ele só funcionaria se você acionasse a indexação do seu repositório Maven.
Nesta versão, adicionamos a manipulação nativa de arquivos ignorados para o Git. De agora em diante, a manipulação nativa de arquivos ignorados estará disponível pronta para uso para todos os sistemas de controle de versão com suporte.
Você não precisará mais adicionar arquivos manualmente à lista .gitignore nas configurações. Tudo ficou muito mais simples: adicione um arquivo à lista de arquivos ignorados na árvore de projetos ou na guia "Local Changes" da janela de ferramentas VCS. O plug-in .ignore que costumava oferecer suporte para ignores Git e HG agora fornece apenas a funcionalidade avançada de ignores VCS, pois a funcionalidade principal faz parte da plataforma.
O IntelliJ IDEA 2019.2 traz uma grande mudança para projetos que usam o Git ou o Mercurial. Não há necessidade de abrir uma caixa de diálogo separada para confirmar arquivos; Agora você pode submeter arquivos na guia "Local Changes" da janela de ferramentas "Version Control". Lá, você pode rever os arquivos modificados e fazer alterações, se necessário, pois a caixa de diálogo de submissão não bloqueia o restante do IDE.
Para experimentar, marque a caixa de seleção "Commit from the Local Changes without showing a dialog", em Settings/Preferences | Version Control | Commit Dialog.
O IntelliJ IDEA 2019.2 lembra você de modificar os arquivos que você costuma submeter juntos com os arquivos modificados recentemente.
O IntelliJ IDEA solicita que você adicione ao controle de versão todos os arquivos copiados para o projeto de fora do IDE ou os arquivos criados no console ou durante a execução do código. Você também pode configurar o IDE para adicionar esses arquivos automaticamente.
Agora, você pode escolher que colunas deseja ver na guia "VCS Log". Clique no ícone de olho, selecione "Show Columns" e depois selecione as colunas que você deseja exibir: autor, data ou hash de submissão.
Agora, você não precisa mais alternar para o terminal para anular o Git Merge ou o Cherry-Pick. A opção "Abort Merge/Abort Cherry-pick" aparece no pop-up "Branches" enquanto o processo está em execução.
Controle alterações no seu projeto com facilidade. Agora, quando você usa a ação Git | Show History no diretório selecionado no "Project View", o IDE exibe os resultados na guia "Log", filtrados pelo respectivo caminho.
Você também pode ver as alterações feitas em várias pastas ao mesmo tempo. Clique com o botão direito do mouse nas pastas em que deseja verificar as atualizações e selecione Git | Show History.
Anteriormente, quando você usava as ações "Update Project" e "Pull", o IDE mostrava uma árvore de arquivos atualizados na guia "Update Info" da janela de ferramenta "Version Control". Na v2019.2, a guia "Update Info" é exibida como uma lista de submissões recebidas durante a atualização. Ela agora se parece com a guia "Log".
A ação "Compare with Current" no pop-up "Branches" está dividida em 2 ações separadas: "Compare with Current" e "Show Diff with Working Tree". A ação "Compare with Current" atualizada agora mostra a diferença nas submissões, enquanto a nova ação "Show Diff with Working Tree" mostra a diferença nos arquivos.
No modo "Collapse Unchanged Fragments", "Diff" agora mostra o método no qual o bloco de código atual é modificado. Isso não só facilita a visualização da alteração, como também a compreensão do contexto.
O plug-in Kotlin incluído no IntelliJ IDEA agora está atualizado para a v1.3.41.
O IntelliJ IDEA 2019.2 acompanha uma maior variedade de recursos de assistência de codificação JPA para o Kotlin. Agora você pode gerar classes de entidades Kotlin em tabelas selecionadas com o script "Generate Kotlin Entities". O script é facilmente personalizável. Acesse o diretório de scripts e faça testes com o script modificando-o para resolver uma tarefa específica. Além disso, o IDE agora pode navegar até a coluna ou tabela correspondente com a ação "Go to Declaration" (Cmd+B/Ctrl+B).
Quando você para em um ponto de interrupção dentro de uma função de suspensão ou um lambda, "Async stack trace" agora mostra o estado das variáveis no último ponto de suspensão. Você pode procurar no rastreamento de pilha inteiro de funções de suspensão a partir do último ponto de suspensão na rotina conjunta atual e verificar os valores armazenados das variáveis. Isso pode ajudá-lo a entender como você chegou ao ponto de execução atual.
Como você já sabe, no Kotlin, é possível realizar pequenas experiências com sua base de código usando arquivos de rascunho. Agora você pode usar o modo interativo, que mostra os resultados em tempo real após um certo tempo limite, sem a necessidade de repetir explicitamente a execução do script.
Com que frequência você verifica a lista TODO no seu projeto? O IntelliJ IDEA agora realça corretamente comentários TODO de várias linhas no Kotlin e os exibe como uma lista na janela de ferramentas TODO.
Se você usar anotações de nulidade externas para Java, o IDE agora poderá avisar sobre usos incorretos de métodos Java anotados do Kotlin. Observe que essa é uma funcionalidade puramente do IDE. O código correspondente é compilado sem avisos pelo compilador Kotlin, enquanto o IDE mostra um aviso adicional.
Estendemos a sintaxe do Groovy 3.0 e nosso suporte a blocos de código aninhados. Além disso, o IDE agora coloca em negrito as chaves e as setas em uma expressão de fechamento por padrão, para que você possa entender facilmente a estrutura do código e diferenciar os blocos de código dos fechamentos.
Você também pode tirar proveito de correções rápidas que adicionam tipos explícitos para todos os parâmetros em uma declaração de método para métodos Groovy em que os tipos dos parâmetros não estão explicitamente definidos.
Em vez de sublinhar erros de incompatibilidade de tipos com um ondulado vermelho, que pode se estender por várias linhas, o IntelliJ IDEA agora mostra uma dica de atribuição de tipo e realça a parte que não corresponde ao tipo esperado.
As dicas de ferramentas de incompatibilidade de tipos agora estão refinadas, alinhadas verticalmente e oferecem comparação par a par. O algoritmo leva em consideração o açúcar sintático, a subtipagem, variação e outras coisas mais complexas.
Agora, as dicas de anotação de tipo oferecem suporte para desdobramento dinâmico, dicas de ferramentas, navegação e correspondência de chaves. Elas apenas aparecem quando são realmente necessárias.
Anteriormente, era necessário usar intenções para agrupar (ou desagrupar) expressões dentro de chaves. Agora, o IntelliJ IDEA pode fazer isso automaticamente, enquanto você digita.
O IntelliJ IDEA sempre usou cinza para marcar importações não utilizadas ou códigos inacessíveis como “redundantes” (conforme definido pelo esquema de cores). Outros códigos redundantes, no entanto, eram realçados como "aviso ou erro genérico", o que poluía o código e ocultava erros reais. Agora, usamos o cinza para colorir todo o código redundante de maneira uniforme, para que o realce seja menos invasivo.
Agora, você pode preencher a cláusula de caso inteiro (enquanto antes, só era possível preencher padrões nessas cláusulas). O preenchimento funciona não só para instruções de correspondência, como também para funções de ordem superior.
Agora, você pode injetar linguagens em literais de string de várias linhas com margens.
Agora, o IntelliJ IDEA oferece suporte ao Protocolo de servidor de compilação (BSP), que padroniza como as ferramentas de compilação (servidores) e IDEs (clientes) se comunicam entre si. Por um tempo, o suporte ao BSP foi um recurso experimental, mas agora é um cidadão de primeira classe no IDE.
Com a nova intenção "Propagate to destructuring" (Alt+Enter), você pode substituir uma variável extra por outra desestruturação sempre que possível. Para remover completamente uma desestruturação, use a ação de intenção chamada "Replace destructuring with property or index access". O IDE agora avisa se uma expressão booliana em uma condição possui algumas partes desnecessárias e sugere simplificá-la.
Quando você renomeia um símbolo em um arquivo JavaScript ou TypeScript, o IDE agora agrupa usos dinâmicos e, por padrão, os exclui da refatoração. Isso torna a refatoração mais precisa e oferece mais controle sobre o que exatamente deve ser renomeado na janela de ferramentas "Refactoring Preview".
Usando o Vuetify ou o BootstrapVue no seu aplicativo Vue.js.? Adotamos uma nova abordagem para trabalhar com essas bibliotecas no IDE. De agora em diante, o preenchimento de código para componentes e seus props nestas e em outras bibliotecas de componentes do Vue está mais preciso.
O plug-in Node.JS agora vem pré-instalado com o IntelliJ IDEA Ultimate.
Agora, você pode procurar os dados necessários, mesmo sem saber sua localização exata. Clique com o botão direito do mouse na fonte de dados ou em um grupo de fontes de dados que você deseja pesquisar e selecione "Full-text Search" ou pressione Ctrl+Alt+Shift+F / Cmd+Alt+Shift+F.
Os resultados são filtrados para mostrar apenas as strings nas quais os dados são encontrados. Se você não conseguir localizar os dados porque há muitas colunas, use a pesquisa de texto no editor de dados (Ctrl/Cmd+F).
Localizar um objeto no pop-up "GoTo" nem sempre é fácil, especialmente quando há muitos itens semelhantes. No IntelliJ IDEA 2019.2, você pode escolher onde procurar: em uma fonte de dados específica ou em um grupo de fontes. O mesmo funciona para "Find In Path". Isso é extremamente útil se você está procurando um código-fonte dentro de DDLs de outros objetos.
Quando você está realizando "step into" em uma linha com chamadas de vários métodos, pode escolher o método, o lambda, ou a referência de método que deseja usar para entrar.
Esta versão oferece extenso suporte de edição para scripts shell, incluindo preenchimento de palavras e caminhos, documentação rápida e até renomeação textual. Você também pode criar configurações de execução para executar scripts shell, e isso é apenas metade da história. Integramos várias ferramentas externas no IntelliJ IDEA para um nível de suporte a scripts shell ainda mais avançado. De agora em diante, você pode usar Shellcheck para detectar e corrigir erros no seu script, Shfmt para formatar corretamente o script shell e Explainshell para obter uma descrição completa do comando necessário pressionando Alt+Enter.
Agora você pode colar uma string de solicitação cURL no cliente HTTP e fazer com que o IDE a converta automaticamente em uma solicitação completa.
Suponha que você tenha feito uma solicitação para autenticação no serviço e, nas solicitações subsequentes, gostaria de chamar alguns pontos de extremidade que exigem permissões adicionais. Anteriormente, você perderia os cookies da primeira resposta. Agora, isso não acontece mais. O IDE mantém todos os cookies para você e os transfere nas solicitações seguintes.
Anteriormente, o Terminal podia ocasionalmente desfazer links ao fazer a quebra automática de linhas, e algumas linhas eram quebradas incorretamente. Agora, quando você executa um comando que gera uma linha longa, o Terminal faz uma quebra automática suave, mantendo todos os links funcionais. Se você clicar em um link com quebra automática, ele será enviado imediatamente ao seu navegador.
Agora, o IntelliJ IDEA retorna códigos de saída apropriados quando usados como uma ferramenta de linha de comando para mesclar arquivos. Agora, você pode usar o IntelliJ IDEA como uma ferramenta de merge em qualquer workflow personalizado. Também oferecemos suporte à opção de linha de comando --wait para editar arquivos do terminal ao estilo em blocos.
O IDE agora exibe detalhes do plug-in da página Plug-ins na caixa de diálogo Settings/Preferences imediatamente, para que você não precise clicar em cada plug-in isoladamente. Nós nos livramos da guia "Updates", e o botão "Update" está próximo do nome do plug-in na guia "Installed". Adicionamos novas opções no ícone de engrenagem, permitindo desabilitar ou habilitar os plug-ins baixados de uma só vez. Economize vários cliques e gaste-os em coisas mais importantes.
A nova versão do IntelliJ IDEA 2019.2 com o plug-in Kubernetes fornece suporte de edição para o Kustomize, com preenchimento para chaves e caminhos, além de muitas inspeções para arquivos de recursos do Kustomize.
A refatoração "Rename" agora funciona para renomear os arquivos e diretórios dos arquivos de recursos do Kustomize. É possível pular de um caminho declarado nos arquivos de recursos do Kustomize para os pacotes ou arquivos associados na janela de ferramentas "Project" com o atalho Ctrl+B/Cmd+B.
Agora, você pode carregar uma especificação de definição de recurso personalizada (CRD) de fontes externas usando URLs. Para adicionar as especificações, acesse Settings/Preferences | Languages & Frameworks | Kubernetes e adicione URLs à especificação CRD. (Anteriormente, era possível adicionar um CRD a partir de arquivos locais.)