Novidades no PhpStorm 2020.1

Experimente a hiper-produtividade com esta atualização em grande escala do IDE

Suporte inovador para composer.json

Gerencie dependências com facilidade: agora, todas as ações estão disponíveis diretamente no editor de um arquivo composer.json.

Funções de seta

Gerenciando dependências

Removemos a antiga caixa de diálogo Manage dependencies, já que é muito mais fácil trabalhar com os pacotes de dentro do arquivo composer.json.

Para adicionar um novo pacote, você pode começar a digitar seu nome na seção require(-dev) ou pressionar Ctrl+Space e escolher a opção necessária na lista de sugestões.

Todas as versões disponíveis do pacote específico também serão listadas.

Criar um novo arquivo composer.json

Criando um novo arquivo composer.json

Ao iniciar um novo projeto, você pode criar um arquivo composer.json usando o modelo no IDE. Clique com o botão direito do mouse na árvore do projeto e selecione New -> composer.json File.

Atualizando e instalando pacotes

Atualizando e instalando pacotes

Se houver uma dependência especificada em composer.json, mas ela ainda não tiver sido instalada, o PhpStorm a detectará e destacará.

Instale-a pressionando Alt+Enter e escolhendo Update package ou Update all packages.

Navegação até arquivos e pastas

Navegando até arquivos e pastas

Você pode usar Ctrl+Clique em um pacote para que o PhpStorm destaque a pasta desse pacote no diretório do fornecedor da árvore de projetos. Para arquivos, isso os abrirá no editor.

O mesmo truque, Ctrl+Clique ou Ctrl+B, funciona para abrir qualquer link no composer.json em um navegador.

Compondo e executando scripts

Compondo e executando scripts

Cada entrada na seção de scripts possui um ícone de reprodução na medianiz, no qual você pode clicar para executar o script instantaneamente.

Ao adicionar uma nova entrada de script, o preenchimento automático agora oferece suporte para referências de script, arquivos binários do diretório vendor/bin e quaisquer arquivos PHP da origem do seu projeto.

Cobertura de código com PCOV e PHPDBG

PSR-12

Além de Xdebug, agora é possível usar uma extensão PHP leve krakjoe/pcov ou o PHPDBG incorporado para gerar relatórios de cobertura de maneira muito mais rápida.

Você pode criar uma configuração de execução para testes. Nas configurações de execução, existe uma lista suspensa para escolher seu driver de cobertura preferencial: Xdebug, PCOV ou PHPDBG.

Selecione seu driver preferencial, clique no botão Run with Coverage na barra de ferramentas principal e observe os resultados da cobertura.

Caixa de ferramentas PHPUnit

WSL adicionando interpretador

O PhpStorm 2020.1 tem ferramentas para ajudar você a atualizar para a versão mais recente do PHPUnit de maneira rápida e fácil.

Cada versão descontinuada será realçada no editor. Posicione o cursor sobre um item obsoleto e pressione Alt+Enter. Em seguida, selecione sua solução rápida preferencial na lista exibida. Ou simplesmente escolha-a na parte inferior da janela de descrição do erro.

Para criar uma nova classe de teste PHPUnit rapidamente, agora você pode usar a intenção Create new PHP Test, pressionando Alt+Enter em um nome de classe.

Aprimoramentos de inferência de tipos PHP

O núcleo do PhpStorm – o mecanismo de inferência de tipos – recebeu algumas boas melhorias.

Propriedades tipadas

Detectando uma tag @var redundante

Se a tag @var com informações de tipo for redundante e o PhpStorm já souber o tipo correto da variável, essa tag será realçada. Você pode excluí-la com a correção rápida Remove @var pressionando Alt+Enter.

Funções de seta

Melhor rastreamento de valores nulos

Rastrear a nulidade é uma tarefa difícil e, em alguns lugares, era comum o PhpStorm não conseguir detectá-la. Este não é mais o caso na versão 2020.1. O PhpStorm permite que você saiba se uma variável é nula ou não e ajuda a evitar problemas de nulidade.

Separador literal numérico

Preenchimento em array_map/filter

Agora, existe uma opção de preenchimento completa para variáveis de parâmetros dentro dos fechamentos que são transmitidos para as funções array_map() e array_filter().

Operador ternário aninhado

Inferir um tipo de array não genérico a partir de um inicializador

Se você estiver iterando sobre uma matriz com um conjunto conhecido de itens, não precisará mais de uma tag @var adicional para especificar o tipo, pois o PhpStorm a propagará automaticamente.

E ainda mais

Classificação assistida por ML para preenchimento de código

Classificação assistida por ML para preenchimento de código

Introduzimos um ranking de opções de preenchimento assistidas por aprendizagem de máquina para o PHP desde v2019.3. Este recurso melhora o preenchimento de código ao reordenar os elementos no popup de preenchimento de forma que os itens mais relevantes recebam classificações mais altas.

Por padrão, a conclusão assistida por ML está desabilitada. Para habilitá-la, marque as caixas de seleção Rank completion suggestions based on Machine Learning e PHP em Preferences/Settings | Editor | General | Code Completion.

Refatoração para mover método

Refatoração para mover método

Mover um método de uma classe para outra agora é mais fácil, pois isso pode ser feito com uma única ação atômica.

Coloque o cursor sobre um método e pressione F6 (ou Ctrl+T, 3). Em seguida, escolha uma classe de destino e pronto.

Remover um PHPDoc apenas com a anotação de tipo

Remover um PHPDoc apenas com a anotação de tipo

Se um bloco PHPDoc tiver apenas tags @param com tipos, ele poderá ser completamente removido em favor de declarações de tipo nativas para parâmetros.

Pressione Alt+Enter e escolha a correção rápida Remove redundant PHPDoc comment.

Localizar expressões ternárias redundantes

Localizar expressões ternárias redundantes

O PhpStorm realçará qualquer expressão ternária que possa ser reduzida e simplificada. E, usando uma correção rápida (Alt+Enter), você pode substituí-la por uma expressão simples equivalente.

Eliminar ocorrências redundantes de passagem por referência

Eliminar ocorrências redundantes de passagem por referência

O uso da passagem por referência pode levar a consequências inesperadas. O PhpStorm 2020.1 detecta e realça parâmetros marcados desnecessariamente como transmitidos por referência.

O mesmo funciona para valores redundantes por referência em loops foreach.

Metadados

Existe uma maneira de estender o "reconhecimento de código" do PhpStorm, fornecendo informações adicionais em um arquivo especial, .phpstorm.meta.php. Essa área recebeu várias melhorias.

Índice de parâmetros em substituição, mapa e tipo

Índice de parâmetros em substituição, mapa e tipo

Anteriormente, com as diretivas override(), map() e type(), era possível ajustar o comportamento apenas do primeiro parâmetro das funções. No PhpStorm 2020.1, isso foi corrigido e é possível especificar explicitamente o índice do parâmetro.

Funções de seta

Suporte para acesso à propriedade via __get

Se você tivesse que receber alguns objetos através do método mágico __get(), provavelmente perderia informações de tipo. Em vez de usar tags @var or an @property, agora você pode especificar essas informações em um arquivo .phpstorm.meta.php. Isso pode funcionar mesmo sem conhecer o tipo de antemão.

Pontos de saída personalizados

Pontos de saída personalizados

O PhpStorm considera que as funções die() e exit(), ou quaisquer funções que lançam uma exceção, sejam chamadas de finalização. Porém, em aplicativos, pode haver outras funções personalizadas que precisam ser consideradas "pontos de saída", por exemplo, em funções de depuração como dd(). Agora, é possível marcar qualquer função como um ponto de saída.

Preenchimento para chaves em objetos ArrayAccess

Preenchimento para chaves em objetos ArrayAccess

A assistência de metadados já tornou possível manter o acesso ao preenchimento de código, mesmo que você queira usar um objeto como um contêiner de array para outros objetos. No entanto, o preenchimento não estava disponível para chaves. Isso foi adicionado na versão 2020.1.

Ícone de medianiz para funções com metasubstituições

Ícone de medianiz para funções com metasubstituições

Por último, mas não menos importante, no editor, agora você verá se um comportamento foi modificado pelo arquivo .phpstorm.meta.php com as diretivas override(), exitPoint() ou expectArguments(). E, como pode haver qualquer número desses metarquivos no projeto, clicando no ícone, você abrirá aquele que é usado nesse local específico.

Cliente HTTP

Depuração PHP no cliente HTTP

Depuração PHP no cliente HTTP

Ao desenvolver aplicativos Web ou endpoints de API, agora você pode iniciar a depuração facilmente sem sair da janela do PhpStorm.

Para fazer isso, crie ou abra um arquivo .http, adicione uma solicitação e use a intenção Alt+Enter para executar PHP Debug. Isso adicionará um cookie XDEBUG_SESSION à solicitação e funciona de maneira semelhante à extensão do navegador Xdebug.

Tecnologias Web

Todos os novos recursos e melhorias do WebStorm 2020.1 estão disponíveis no PhpStorm 2020.1, prontos para uso ou com plug-ins gratuitos disponíveis no Plugin Marketplace.

Novas intenções e inspeções inteligentes para JavaScript e TypeScript

Novas intenções e inspeções inteligentes para JavaScript e TypeScript

Use novas intenções e inspeções inteligentes (Alt+Enter) para poupar tempo na hora de codificar! Por exemplo, agora, você pode converter rapidamente o código existente em encadeamento opcional e/ou coalescência nula, a sintaxe introduzida nas versões mais recentes do JavaScript e do TypeScript.

Suporte para Vuex e API Composition para Vue.js

Suporte para Vuex e API Composition para Vue.js

Com o suporte imediato para a biblioteca Vuex e a API Composition do próximo Vue 3, você pode criar excelentes aplicativos Vue.js de maneira ainda mais fácil.

Executando o Prettier ao salvar

Executando o Prettier ao salvar

Com a nova opção Run on save for files, o WebStorm aplicará a formatação Prettier a todos os arquivos especificados nas configurações do IDE e editados no projeto assim que você salvar esses arquivos – – um file watcher ou um plug-in de terceiros não é mais necessário.

IDE

Verificador ortográfico e gramatical inteligente

Verificador ortográfico e gramatical inteligente

O plug-in avançado Grazie de revisão e verificação gramatical agora está disponível para uso imediato. Aproveite o recurso de realce instantâneo de erros de digitação e corrija-os com uma ação de correção rápida, como qualquer outro erro no código.

A verificação ortográfica está habilitada por padrão em arquivos de remarcação. Para obter verificações em qualquer comentário do PHPDoc, strings HEREDOC/NOWDOC ou literais de string em arquivos PHP, será necessário habilitar esse recurso em Preferences/Settings | Editor | Proofreading | Grammar.

Para verificações gramaticais ainda mais profundas, você pode habilitar a inspeção Grammar em Preferences/Settings | Editor | Inspections -> Proofreading.

Usando o PhpStorm para edição rápida

Usando o PhpStorm para edição rápida

Um novo modo LightEdit torna possível usar o PhpStorm como um editor leve ao estilo de bloco de notas para fazer algumas alterações rápidas nos arquivos sem precisar abrir o IDE completamente.

Para experimentar esse modo, abra um arquivo na linha de comando (consulte Trabalhando com recursos do IDE na linha de comando para obter mais instruções) ou no gerenciador de arquivos do sistema operacional. Se o PhpStorm ainda não estiver em execução, o arquivo será aberto no modo LightEdit.

Personalização do formato de data

Divida sessões do terminal na horizontal ou na vertical

Agora, é possível abrir qualquer número de sessões de terminal de uma só vez e observar a saída em todas elas simultaneamente, sem precisar alternar entre as guias.

Você pode chamar o menu de contexto do Terminal para criar, navegar e encerrar uma sessão de terminal dividida.

Configuração SSH unificada

Configuração SSH unificada

Todas as conexões SSH foram colocadas em um só local, em Preferences/Settings | Tools | SSH Configurations.

Isso possibilita a criação de uma conexão em um local e sua reutilização em qualquer parte do IDE, por exemplo, na configuração de implantação, para interpretadores PHP remotos via SSH ou como um terminal SSH.

Aparência

Tema claro atualizado

Tema claro atualizado

O tema claro agora está unificado para todos os sistemas operacionais e chama-se IntelliJ Light. Se quiser voltar ao tema antigo, acesse Preferences/Settings | Appearance & Behavior | Appearance | Theme.

Personalização do formato de data

Nova fonte padrão

A JetBrains Mono é um tipo de fonte gratuito e open source que desenvolvemos especialmente para desenvolvedores para facilitar a leitura do código. Agora, ela é usada como a fonte padrão do editor.

Modo de desenvolvimento sem distração

Modo de desenvolvimento sem distração

O novo Modo Zen combina o Modo sem distrações com o Modo de tela cheia, para que você possa mergulhar fundo no seu código.

Para experimentar o Modo Zen, acesse View | Appearance | Enter Zen Mode.

Controle de versão

Caixa de diálogo reformulada para o Git Rebase

Caixa de diálogo reformulada para o Git Rebase

A caixa de diálogo Interactively Rebase from Here agora é realmente interativa e permite controlar todos os aspectos do processo de rebase:

  • Selecionar uma ação que você deseja realizar em cada submissão do seu branch.
  • Verificar um gráfico mostrando quais ações foram aplicadas.
  • Visualizar os detalhes da submissão.
  • Veja um diferencial e revise ou redefina as alterações, se necessário.
Enviar qualquer branch

Alterações no fluxo de submissões

Para otimizar o fluxo de submissão, desenvolvemos uma nova janela de ferramentas Commit para lidar com todas as tarefas relacionadas a submissões. Ele está habilitada para todos os novos usuários por padrão.

Se você já é usuário e deseja experimentá-lo, selecione Use non-modal commit interface em Preferences/Settings | Version Control | Commit.

Ferramentas de banco de dados

A equipe do DataGrip fez algumas melhorias muito interessantes nas ferramentas de banco de dados do PhpStorm. Confira as Novidades no DataGrip 2020.1.

Exportar para o Excel

Exportar para o Excel

Por último, é possível exportar um resultado de consulta ou uma tabela para um arquivo do Excel.

Resultados no editor

Resultados no editor

Agora, você pode ver os resultados diretamente no editor de código. Para experimentar esse recurso, verifique a opção Preferences/Settings | Database | General | Show output results in the editor.

Configurações de execução

Configurações de execução

O conceito de configurações de execução é bastante familiar para os usuários do PhpStorm. Além de executar scripts PHP, testes ou solicitações HTTP, agora também é possível executar consultas de banco de dados.

Outras melhorias:

  • Todos os membros e itens marcados como @deprecated são exibidos como tachado na exibição em árvore de estruturas.
  • Há uma nova ação para saltar rapidamente para a chave de fechamento ou abertura.
  • Agora, é possível personalizar a sintaxe Lexer para Twig.
  • O caminho dos arquivos de configuração mudou – saiba mais.
  • Configurações de execução podem ser salvas fora da pasta .idea e compartilhadas via controle de versão. Abra a caixa de diálogo Run/Debug Configurations, marque a opção Store as project file.