PhpStorm 2019.1: depuração de modelos Twig e Blade, pesquisa de código morto, conclusão automática aprimorada e muito mais



Olá Habr!

Temos o prazer de apresentar o primeiro grande lançamento do PhpStorm este ano!
Uma visão geral do lançamento pode ser encontrada na página "O que há de novo" . E abaixo do corte, uma tradução desta página com uma demonstração dos novos recursos mais interessantes.

Você pode baixar a nova versão no site ou usando o App Toolbox . Como sempre, está disponível uma avaliação de 30 dias. A versão completa pode ser usada por titulares de uma assinatura ativa do PhpStorm ou All Products Pack, e gratuitamente - por estudantes e desenvolvedores de projetos de código aberto.

No total, 1118 bugs foram corrigidos na versão e muitos novos recursos foram adicionados. Aqui estão os mais interessantes.

Depurando modelos Twig e Blade


Graças ao depurador, você pode lidar rapidamente com o bug mais cativante, mas aqui para encontrar problemas nos modelos, você precisa percorrer a selva de códigos gerados por máquina. No PhpStorm 2019.1, adicionamos a capacidade de depurar os arquivos de modelo .twig e .blade.php originais não compactados .

Para fazer isso, basta especificar o caminho para os modelos compilados (cache) nas configurações do IDE: Languages ​​& Frameworks | Php | Depurar | Modelos para Twig ou Blade .

No caso do Twig, você também deve especificar as auto_reload debug e auto_reload na configuração.
E para o Blade, tudo funcionará automaticamente, mas apenas começando com o Laravel 5.8.

Depois disso, você pode ativar o depurador e definir um ponto de interrupção diretamente no modelo. A execução será interrompida no local especificado e todas as opções de depuração usuais estarão disponíveis: execução passo a passo, variáveis ​​locais e globais, rastreamento de valor (observação) e tudo mais.



Falando em depuração: apoiamos ativamente o autor do Xdebug Derick Rethans para melhorar o depurador, resolver problemas acumulados e expandir as possibilidades de seu uso no PhpStorm.

Detecção de Código Morto


O PHP marca 24 anos este ano e não é surpreendente que você se depare com o código legado. A primeira coisa que você quer fazer é limpar e remover o excesso. A nova inspeção da declaração não utilizada ajudará apenas neste assunto.
O PhpStorm 2019.1 pode analisar seu código rapidamente e destacar diretamente no editor as classes, membros da classe e funções que provavelmente não são usadas em nenhum lugar.



Você também pode encontrar todos os itens não utilizados no modo em lote. Para fazer isso, chame o menu Código -> Executar inspeção por nome e selecione a inspeção Declaração não utilizada . Você receberá um relatório com uma lista de todos os problemas, com uma descrição e correções rápidas.



Nova refatoração e ação rápida


Por tradição, adicionamos várias novas refatorações para tornar as ações de rotina rápidas e sem erros.

Manipulação de String
Se você pressionar Alt + Enter em qualquer expressão de sequência, verá uma lista completa de conversões disponíveis. Por exemplo, já existe uma conversão de / para NOWDOC / HEREDOC, substituição de aspas, dividindo uma sequência em duas com concatenação.
E nesta versão, adicionamos algumas coisas mais convenientes - copiar a string concatenada no buffer, substituir a concatenação da string por interpolação ou chamar a função sprintf () e, consequentemente, as ações reversas:



Removendo Variáveis ​​Não Utilizadas
A nova inspeção detectará e permitirá remover uma variável não utilizada nas operações de atribuição e use construções nos fechamentos.



Refatoração Mover para Classe
Usando essa refatoração, você pode transferir com segurança funções de arquivos PHP para classes. O PhpStorm atualizará todas as chamadas para essas funções.



Ao restaurar a ordem, pode ser necessário mover várias funções ao mesmo tempo - isso também é suportado pelo PhpStorm. Você precisa selecionar as funções desejadas na janela Estrutura e chamar a refatoração Mover para classe.

O método de inspeção pode ser 'estático'
Essa inspeção descobrirá métodos que podem ser convertidos em estáticos, ou seja, aqueles que não usam uma instância da classe. Esses métodos terão uma ação contextual disponível - você pode pressionar Alt-Enter e selecionar "Tornar estático". Como esperado, todas as chamadas serão corrigidas automaticamente.



Mecanismos aprimorados de preenchimento automático


Usando o arquivo .phpstorm.meta.php, você pode informar ao IDE quais argumentos são esperados na função ou quais valores podem ser retornados. O PhpStorm usará essas informações para o preenchimento automático.
Digamos que uma função espera algum tipo de constante como argumento. Formalmente, o tipo dessa constante é, digamos, um integer , mas, na realidade, conhecemos o conjunto de constantes possíveis.
Por exemplo, json_encode($data, /* JSON_* */)
Também podemos ter uma função que retorna uma constante, por exemplo json_last_error() .
No PhpStorm 2019.1, o preenchimento automático para essas e muitas outras funções internas já funciona imediatamente:



Além disso, esse preenchimento automático pode ser feito em qualquer projeto / biblioteca / estrutura, basta adicionar um arquivo .phpstorm.meta.php especial ao projeto. E pode haver muitos desses arquivos, o PhpStorm os encontrará e os combinará.
Por exemplo, esses arquivos já existem para o Symfony na forma do pacote King2500 / symfony-phpstorm-meta - ele vem com o plug-in do Symfony .
Leia mais no post sobre novos recursos .phpstorm.meta.php .

Otimização de importação


O sistema de análise e correção das importações foi ligeiramente reformulado. Agora, se possível, o PhpStorm irá propor a substituição do nome completo da classe pela importação ou a remoção completa, se for redundante.
Também foi adicionada a capacidade de classificar as expressões de use ordem alfabética ou por comprimento.

Ferramenta de limpeza de código


Essa ferramenta permite conversões em lote seguras. Por exemplo, em todo o projeto de uma só vez, em um determinado diretório, etc.
Ele está disponível há muito tempo no PhpStorm, mas somente em 2019.1 os recursos do PHP foram adicionados a ele. Primeiro de tudo, ele suporta duas ferramentas de correção de estilo de codificação: PHP CS Fixer e phpcbf de PHP_CodeSniffer. Além de duas inspeções para otimizar as importações do parágrafo anterior.



Essa ferramenta pode ser iniciada a qualquer momento manualmente ou antes da confirmação, simplesmente verificando a caixa de diálogo correspondente na caixa de diálogo de confirmação:



Reutilizando contêineres do Docker


Adicionado suporte para iniciar contêineres do Docker nos modos de execução do docker-composer e do docker-compose exec. O primeiro modo é adequado para recipientes leves que param imediatamente após o início. O segundo permite reutilizar contêineres em execução sem precisar reiniciar.



Entre outras melhorias:

  • Configurações flexíveis do PHPDoc: você pode personalizar a ordem dos elementos e recuos em Preferências | Editor Estilo de código | Guia PHP PHPDoc;
  • O modelo de arquivo PHP padrão é limpo - não é mais criado por PhpStorm;
  • Nova ação rápida para adicionar uma propriedade de classe ao construtor;
  • Você pode ativar o modo estrito globalmente,
    mesmo se os arquivos não tiverem a diretiva declare(strict_types = 1);


Vcs


O sistema de controle de versão fez muitas melhorias úteis:
  • Ações de correção e squash adicionadas ao log do Git;
  • Ao visualizar as diferenças, agora você pode trocar os painéis;
  • Empurrar com força agora está mais seguro porque o sinalizador --force-with-lease é usado;
  • A opção Desmarcar tudo para confirmações parciais foi adicionada à caixa de diálogo de confirmação - com ela você pode desativar todas as alterações e selecionar apenas as necessárias:



Aprimoramentos de IDE


Diálogo Locais Recentes
Na maioria das vezes, ao trabalhar em uma tarefa, os desenvolvedores precisam ler código, não escrever. Portanto, a navegação rápida entre arquivos é sempre muito relevante. O PhpStorm já tinha um pop - up Search Everywhere ( Shift-Shift ) , Favoritos e Favoritos ( Cmd + 2 / Alt + 2 ), movendo a história para frente e para trás ( Cmd + [ - Cmd +] / Ctrl + Alt + Esquerda - Ctrl + Alt + Direita ) ou visualize os arquivos mais recentes ( Cmd + E / Ctrl + E ) .
No PhpStorm 2019.1, adicionamos outro recurso interessante - a caixa de diálogo Locais Recentes ( Cmd-Shift-E / Ctrl + Shift + E) , que mostra as últimas partes do código que você visualizou ou editou. Isso pode ser útil se você quiser percorrer rapidamente a história e ver o contexto para entender exatamente para onde se mover.



Novos temas de interface
O PhpStorm vem com três temas: Light, Darcula e High Contrast. Se você quiser experimentar algo novo, instale um dos novos temas: Roxo escuro , Cinza ou Ciano claro . Agora você também pode criar temas, enquanto é possível definir a cor de qualquer elemento ou ícone. Leia mais na documentação .



Soft-wraps, dependendo do tipo de arquivo
Se você trabalha frequentemente com arquivos de marcação ou de texto, agora a quebra de linha para eles será ativada automaticamente. Você também pode especificar outros tipos de arquivo nas Preferências | Editor Geral Arquivos de quebra automática.

O PhpStorm como sempre inclui todas as atualizações do WebStorm :
A documentação das propriedades CSS, tags HTML e suporte ao navegador agora foi retirada do MDN e contém links para artigos relacionados, o suporte ao TypeScript para aplicativos Vue foi aprimorado, 17 novas inspeções para aplicativos Angular foram adicionadas e novos painéis de depurador JavaScript e Node.js. apareceram consoles interativos.

... e do DataGrip :
Agora com suporte adicional a Greenplum, Vertica, Apache Hive; Agora você pode selecionar a pasta do projeto padrão; bem como meios aprimorados de concluir estruturas e atributos.

Isso é tudo sobre o que falamos - mas não foi tudo incluído no lançamento. Uma lista completa de alterações, como sempre, pode ser encontrada nas notas de versão muito grandes.

Obrigado pela atenção!
Equipe JetBrains PhpStorm

Source: https://habr.com/ru/post/pt445976/


All Articles