Java

Java 12

O IntelliJ IDEA 2018.3 acompanha suporte inicial para Java 12! Visualize os literais de string brutos (JEP 326) no IDE agora e aproveite várias inspeções úteis e soluções rápidas. Por exemplo, converta literais de string de várias linhas em literais de string brutos e vice-versa, detecte crases (`) redundantes à esquerda ou à direita e muito mais. Saiba mais

Leia o aviso legal aqui

O Java 12 ainda não foi lançado. Você deve aceitar os termos do aviso legal da especificação Java beta para habilitar o suporte para Java 12. A implementação de uma especificação preliminar desenvolvida no JCP (Java Community Process) é disponibilizada apenas para fins de teste e avaliação e não é compatível com nenhuma especificação do JCP.

Detecção de mais duplicatas

O IntelliJ IDEA agora pode detectar duplicatas rapidamente, mesmo em casos mais complicados, como quando os nomes das variáveis são diferentes. O IDE exibirá duplicatas no visualizador de diferenças, para que você possa compará-las lado a lado umas com as outras.

Aprimoramentos na API Java Stream

O IDE detecta situações em que chamadas ordenadas desnecessárias são feitas antes da chamada mínima subsequente. Uma correção rápida para remover a chamada ordenada redundante também é fornecida.

Aprimoramentos de fluxo de dados

Criamos uma nova inspeção baseada no fluxo de dados chamada de Condition is covered by further condition. Ela detecta situações em que a primeira condição é desnecessária, uma vez que é coberta pela segunda. O IDE fornece uma correção rápida para remover essas condições redundantes.

Usos redundantes de uma inspeção suprimida

O IntelliJ IDEA agora detecta usos redundantes da anotação @SuppressWarning, ou o comentário de linha // noinspection ou o comentário JavaDoc /** noinspection */. Quando uma inspeção suprimida não resolver mais nenhum aviso no corpo, na classe ou na instrução do método associado, o IDE não só mostrará um aviso, como também fornecerá uma solução rápida para remover essas anotações e comentários desnecessários.

Editor

Comentários TODO de várias linhas

O IntelliJ IDEA 2018.3 agora oferece suporte para comentários TODO de várias linhas. Agora, a primeira linha de comentários TODO e todas as subsequentes são realçadas no editor e listadas na janela de ferramentas TODO. Basta adicionar um recuo a partir da segunda linha do seu comentário TODO de várias linhas, e o IDE o diferencia de um comentário comum.

Desativação da formatação de código para arquivos e pastas específicos

Tornamos possível impedir o bloqueio de certos arquivos para formatação, otimização de importações e reorganização de código - na verdade para qualquer operação que envolva formatação, explícita ou implicitamente. Basta criar um escopo e adicionar a ele todos os arquivos que não devem ser formatados!

Nova barra de status de recuo

O IntelliJ IDEA exibe o tamanho do recuo no arquivo atual em uma nova barra de status de recuo. Se o recuo do arquivo não corresponder às configurações atuais do seu projeto, um asterisco será adicionado à exibição do recuo. Agora, você tem uma escolha de ações que controlam o recuo atual no pop-up da barra de status.

Melhorias no suporte para EditorConfig

O IDE agora fornece realce de sintaxe e preenchimento de código para arquivos EditorConfig. Você também pode usar o novo pop-up da barra de status de recuo para navegar facilmente até o arquivo EditorConfig em uso.

Controle de versão

Solicitações de extração do GitHub

O IntelliJ IDEA acompanha suporte inicial para solicitações de extração do GitHub. Visualize todas as solicitações de extração no seu repositório GitHub acessando a nova janela de ferramentas GitHub Pull Requests. Use o realce de diferenças para visualizar as alterações ou crie uma ramificação local a partir de uma solicitação de extração no menu de contexto e mescle-a como uma ramificação comum.

A ação "History up to Here" pode mostrar o histórico completo

Antes, a ação History up to Here apenas mostrava o histórico do arquivo até a submissão selecionada. Agora, ela pode mostrar o que aconteceu com o arquivo posteriormente, alternando para Show All Branches na barra de ferramentas. Isso pode ser especialmente útil quando o arquivo foi excluído posteriormente, pois descobrir essas ocorrências não é uma tarefa fácil.

Navegação avançada no log do VCS

Agora, você pode usar as ações de navegação Avançar e Voltar enquanto está no VCS Log depois de navegar dos hashes de submissão até a submissão na guia VCS Log ou depois de usar a ação Go to hash/branch/tag. Use as teclas de seta para a esquerda e direita para navegar até a submissão pai ou filho.

Ignorar espaços em branco

Agora, o IDE pode ignorar alterações de espaço em branco durante a mesclagem. Na caixa de diálogo Merge Revisions for, há um novo menu suspenso Ignore com opções para ocultar ou aparar as alterações de espaço em branco na mesclagem.

Copie um arquivo de um branch do Git para outro

O IntelliJ IDEA 2018.3 permite copiar facilmente um arquivo de um branch do Git para outro, por meio da nova e prática ação Get from Branch, que está disponível na guia Files da caixa de diálogo Compare branches.

Nome do branch na caixa de diálogo de submissão

O IDE exibe o nome do branch para o qual você está submetendo os arquivos na caixa de diálogo Commit. Nós implementamos isso para o Git, o Mercurial e o SVN.

Visualize diferenças na guia "File History"

O recurso Diff Preview agora está disponível na guia File History da janela de ferramentas Version Control.

Suporte para submódulos Git

O IntelliJ IDEA 2018.3 agora oferece suporte para submódulos Git! Clone ou atualize seu projeto, submeta alterações, visualize diferenças e resolva conflitos.

Pesquisar e substituir

Novo recurso Search Everywhere

O IntelliJ IDEA 2018.3 apresenta uma nova e melhor maneira de navegar pelo projeto e pelo IDE. Dê boas-vindas a função replanejada Search Everywhere! Ela vai muito mais além dos recursos de pesquisa da antiga Search Everywhere, pois incorpora todas as outras caixas de diálogo de navegação: Search Everywhere, Find Action, Go to class, Go to file e Go to symbol. Todas essas caixas de diálogo de navegação ainda estão acessíveis em seus próprios atalhos de teclado, como antes.

Procure fragmentos de várias linhas em Find in Path

Agora, é possível realizar pesquisas/substituições para um fragmento de várias linhas nas caixas de diálogo Find in Path/Replace in Path. Você não precisa mais usar expressões regulares para realizar uma pesquisa de várias linhas.

Novas caixas de diálogo de pesquisa estrutural e substituição

O IntelliJ IDEA 2018.3 oferece uma caixa de diálogo Structural Search & Replace atualizada e simplificada. Agora, o preenchimento automático funciona em modelos predefinidos no campo de pesquisa. Você pode visualizar o histórico de pesquisa no menu suspenso abaixo do ícone de pesquisa. A configuração do escopo agora também ficou mais fácil e flexível. O complicado formulário Edit Variables foi substituída por um painel de filtros, que você encontrará na caixa de diálogo atualizada.

Página de preferências de plug-ins

Atualizamos a página de plug-ins em Preferences (Settings) para facilitar o gerenciamento, a instalação, a desinstalação e a atualização de plug-ins. Agora, você não só pode procurar plug-ins por nome, como também por tags. As coisas ficaram ainda melhores, pois agora você também pode classificar os resultados por downloads, nome, classificação, destaque ou atualizações.

Execute qualquer coisa

Execute qualquer coisa

O IntelliJ IDEA 2018.3 acompanha uma nova maneira centralizada de executar um comando no IDE por meio da nova ação Run Anything (Ctrl duplo). Use a nova ação para iniciar uma configuração de execução, incluindo Maven e Gradle, executar uma tarefa do Gradle ou executar comandos de terminal.

Depure qualquer coisa

Basta pressionar a tecla Shift para mudar da caixa de diálogo Run Anything para o modo Debug Anything.

Kotlin

O plug-in Kotlin incluído no IDE foi atualizado para a v1.3

Suporte para Kotlin 1.3

Recentemente, o Kotlin teve um grande lançamento para a linguagem, as ferramentas e as bibliotecas. O IntelliJ IDEA pode ajudá-lo a migrar seu projeto Kotlin para o Kotlin 1.3 e realizar todas as alterações necessárias no código obsoleto para torná-lo compatível com o estado mais recente das bibliotecas.

Aprimoramentos no suporte a projetos multiplataformas

No Kotlin 1.3, o modelo de projetos multiplataformas foi completamente retrabalhado para melhorar a expressividade e flexibilidade e para facilitar o compartilhamento do código comum. O IntelliJ IDEA fornece um conjunto de exemplos de projetos que abrangem os casos de uso mais comuns.

Novas inspeções e correções rápidas do Kotlin

Desde o lançamento do IntelliJ IDEA 2018.2, o plug-in Kotlin recebeu mais de 30 novas inspeções, correções rápidas e intenções que ajudam a escrever um código com muito mais eficiência.

Spring e Spring Boot

Suporte para Spring Boot 2.1

IntelliJ IDEA 2018.3 fully supports the recently released Spring Boot 2.1. Configuration values annotated with @DataSize are validated using the default @DataSizeUnit, if specified.

Aprimoramentos no Spring Initializr

Agora, quando você cria um projeto usando o Spring Initializr, o IDE sugere a instalação ou ativação de plug-ins apropriados, para garantir o suporte para todas as tecnologias selecionadas.

Melhor suporte ao JPA e ao Spring Data para o Kotlin

Agora, o IDE pode injetar automaticamente o JPQL em strings de consulta, fornecendo preenchimento para nomes de entidade e parâmetros. Você pode escrever interfaces Spring Data em Kotlin, e o IntelliJ IDEA entenderá as entidades usadas. O IDE fornece preenchimento inteligente para nomes de métodos e correções rápidas para parâmetros.

Acessibilidade

Tema de alto contraste

Estamos empenhados em proporcionar uma grande experiência para todos os nossos usuários. Com o IntelliJ IDEA 2018,3, estamos lançando algumas melhorias importantes de acessibilidade, como o novo tema de alto contraste.

Melhor suporte para leitores de tela

Melhoramos nosso suporte para leitores de tela, permitindo que eles leiam números de linhas, anotações de sistemas VCS, o depurador e nossos ícones de medianiz.

Depurador de JVM

Anexação a processos Java

Anexe a processos Java que foram iniciados sem um agente de depuração. Depois de anexar a um processo, você poderá exibir os valores de estado e a variável do thread atual e usar a exibição de memória.

Se quiser anexar o depurador ao seu processo local, você poderá usar a nova e prática ação Attach Debugger, disponível na janela de ferramentas Run

Reinicie automaticamente a escuta de uma conexão remota

Agora, enquanto você depura um processo remoto, o IDE pode reiniciar uma configuração automaticamente. Basta habilitar a nova opção Auto restart para configurações de depuração remotas.

Rastreamentos de pilha assíncronos em JVMs remotas

IntelliJ IDEA 2018.3 now supports async stack traces in remote JVMs. To start using the agent remotely:

  • copie /lib/rt/debugger-agent.jar na máquina remota.
  • adicione -javaagent:debugger-agent.jar às opções da JVM remota.

Agora, você pode definir suas próprias Anotações assíncronas na caixa de diálogo Async Annotations Configuration.

Ação para remover todos os pontos de interrupção

O IntelliJ IDEA 2018.3 acompanha novas ações úteis que removem todos os pontos de interrupção em um projeto ou todos os pontos de interrupção no arquivo. Você pode atribuir seus próprios atalhos para essas ações em Preferences (Settings) | Keymap | Debugger Actions.

Maven

Agora, é possível delegar todas as suas ações de compilação e execução ao Maven. Acesse Preferences (Settings) | Build, Execution, Deployment | Build Tools | Maven | Runner e seleciona nova opção Delegate IDE build/run actions to maven.

Terminal

Foram feitas melhorias no terminal embutido e, agora, o IntelliJ IDEA 2018.3 salvará os nomes das guias de terminal, o diretório de trabalho atual e o histórico do shell quando você fechar o projeto ou o IntelliJ IDEA.

Também reprojetamos as guias de terminal para que elas se pareçam com as outras guias da janela de ferramentas.

Configuração de execução

Macros em configurações de execução Java

O IntelliJ IDEA agora permite que você use macros nas configurações de execução "Application" e "npm". Você pode inserir uma macro predefinida no campo Program arguments.

Capacidade de usar arquivos de texto como entrada

Se quiser usar um texto ou arquivo de log como entrada, basta selecionar a opção Redirect input from na caixa de diálogo Run/Debug Configurations e depois especificar o caminho para o arquivo que possui seus dados de entrada.

A configuração de execução é executada apenas como uma instância única por padrão

Por padrão, uma configuração de execução agora é executada como uma única instância. No entanto, existe a opção Allow running in parallel na caixa de diálogo Run/Debug Configuration, que você poderá habilitar se quiser executar várias instâncias da mesma configuração de execução em paralelo.

JavaScript e TypeScript

Importações automáticas em JavaScript

O IntelliJ IDEA agora pode adicionar automaticamente importações de símbolos das dependências do projeto em arquivos JavaScript. Isso funcionará se o houver um arquivo de definição TypeScript dentro do pacote ou se o pacote contiver origens escritas como um módulo ES.

Suporte aprimorado para o Angular

O preenchimento de código e a ação "Go to definition" para variáveis, canais, canais assíncronos e variáveis de referência de modelo em modelos Angular agora estão mais precisos.

Suporte para worker threads Node.js

Agora, você pode depurar workers Node.js no IntelliJ IDEA – apenas certifique-se de estar usando o Node.js 10.12 ou superior e o sinalizador --experimental-worker. O IDE fornece preenchimento de código para a API de worker threads.

Mais flexibilidade com o ESLint e o TSLint

Você pode substituir níveis de gravidade do arquivo de configuração do linter e ver todos os problemas do linter como erros ou avisos.

Para erros do TSLint, pressione Alt-Enter e, em seguida, a tecla de seta para a direita. Agora, existe uma opção para adicionar um comentário de desativação TSLint especial para essa regra.

Kubernetes

Suporte para arquivos de recursos do Helm

O IDE agora resolve corretamente os arquivos de modelo de recursos do Helm e fornece nosso conhecido suporte para edição: preenchimento de código, refatoração Rename e, é claro, inspeções e correções rápidas.

Navegação em arquivos de recursos do Helm

O IDE permite que você navegue do uso de um valor para sua declaração no arquivo values.yaml do gráfico. Você pode usar os ícones da medianiz para navegar entre uma definição de rótulo e seu seletor. Além disso, existem novos ícones de medianiz nos arquivos values.yaml que você pode usar para navegar até valores substituídos/de substituição.

Visualização de resultados do modelo do Helm

O IDE agora pode visualizar o resultado da renderização do modelo do Helm em diff. Basta escolher a nova ação Kubernetes | Helm Template no menu de contexto.

Atualização de dependência do Helm

Uma nova ação Helm Dependency Update está disponível para baixar as dependências tgz externas (ou atualizar as existentes) e exibi-las na árvore do projeto.

Ferramentas de banco de dados

Banco de dados Cassandra

Com esta versão, adicionamos suporte para mais um banco de dados NoSQL: o Cassandra.

Melhorias no preenchimento de código SQL

Agora o preenchimento de código funciona para: campos não agregados em GROUP BY, todas as colunas listadas em SELECT, MERGE e a variável de tabela INSERT INTO, parâmetros nomeados de procedimentos armazenados, campos numéricos em SUM() e AVG(), cláusula FILTER (WHERE) e tipos de campos no SQLite.

Introdução de alias de tabela

Agora, você pode usar a ação Introduce table alias para criar um alias diretamente na tabela. Esse alias substituirá automaticamente os usos do nome da tabela.

Modo de conexão única

Cada novo console significa uma nova conexão. No IntelliJ IDEA 2018,3, porém, é possível usar apenas uma conexão para a fonte de dados e depois fazer com que todos os consoles usem essa conexão única. Você pode visualizar qualquer objeto temporário na árvore do banco de dados. Além disso, é possível usar a mesma transação em consoles diferentes. Para ativar isso, acesse Data source properties | Options | Single connection mode.