O PhpStorm 2022.3 é uma atualização principal que inclui a nova prévia da UI, suporte para PHP 8.2, Code Vision para PHP, a visualização de correção rápida, suporte para ParaTest, a exibição renderizada para PHPDoc, Redis nas ferramentas de banco de dados e muito mais.
A UI nova em folha está disponível para todos experimentarem. Ela está desativada por padrão porque ainda está no estágio Beta/Prévia.
Você pode alternar para a nova interface em Settings/Preferences | Appearance & Behavior | New UI Preview.
A nova UI é mais limpa, tem menos distrações e funciona mais rápido, permitindo que você faça a maioria das coisas da maneira que está acostumado.
Nesta versão, você encontrará muitas melhorias visuais adicionais. Aqui estão algumas das mais notáveis.
Bem no editor, ao lado do código PHP, você pode ver informações adicionais sobre símbolos PHP: classe, trait, interface, método ou função.
Você verá o número de usos – não é necessário clicar em um símbolo para descobrir.
Para classes e interfaces, você verá o número de herdeiros e implementações, respectivamente.
Você também obterá informações do Git sobre quem fez mais alterações em um determinado trecho de código, permitindo ver rapidamente quem é o proprietário do código e quem tem mais conhecimento especializado sobre essa parte do código.
É possível corrigir alguns problemas de código automaticamente pressionando Alt+Enter.
Agora, você poderá visualizar a solução rápida ou intenção proposta antes de aplicá-la e ver instantaneamente como seu código será alterado.
Agora, você pode alterar a aparência dos blocos PHPDoc no PhpStorm 2022.3 com uma opção que fornece uma renderização com melhor aparência e suporte para formatação HTML. Isto facilita e torna mais agradável a leitura de códigos com muitas anotações.
Para alternar a nova visualização renderizada, clique no ícone de medianiz próximo a qualquer bloco PHPDoc.
Para ativar a renderização de todos os comentários PHPDoc, clique com o botão direito do mouse no ícone de medianiz e escolha Render All Doc Comments.
Se você pressionar Ctrl+Q em qualquer função, classe ou método, o PhpStorm mostrará a documentação diretamente no editor.
Este pop-up foi significativamente reformulado. Agora, você não precisa mudar para o navegador para pesquisar documentação, porque tudo é acessível diretamente no seu IDE.
O PhpStorm 2022.3 vem com suporte completo para PHP 8.2. A maioria das alterações no IDE se ajustará organicamente ao workflow do PhpStorm e, portanto, mencionaremos apenas os novos recursos que você precisa conhecer.
Uma classe readonly é uma forma rápida de declarar uma classe que possui apenas propriedades somente leitura. Você pode usar essas classes para integridade de dados adicional.
Para classes readonly, o PhpStorm fornece:
Acessar propriedades inexistentes no PHP 8.2 causará um aviso de deprecação.
O PhpStorm destaca esses usos e fornece correções rápidas para os erros, seja adicionando a propriedade ou usando o atributo #[AllowDynamicProperties]
.
O PHP 8.2 adiciona suporte para tipos de formulário normais disjuntivos, bem como para tipos autônomos null
, true
e false
. Também adicionamos suporte para todos eles no PhpStorm.
O PHP 8.2 apresenta mais algumas deprecações, e o PhpStorm oferece as inspeções correspondentes para identificá-las e correções rápidas para atualizar seu código.
${}
deprecadaAntes, se você precisasse usar uma variável dentro de uma string, havia três maneiras possíveis de interpolação. Uma delas agora está marcada como deprecada e será removida no futuro.
O PhpStorm realçará as ocorrências, e você poderá usar uma correção rápida Alt+Enter para fazer upgrade do código.
Várias formas de chamar funções foram deprecadas no PHP 8.2.
O PhpStorm realça o código inválido, e você pode usar uma correção rápida Alt+Enter para atualizar seu código.
O PhpStorm pode escanear toda a sua base de código de uma só vez para detectar todos os problemas possíveis. Acesse Code | Analyze Code | Run Inspection by Name. Em seguida, procure "propriedade dinâmica", por exemplo, e o PhpStorm fará o resto.
Foi implementada uma iteração preliminar do tão esperado suporte para Redis.
Se você está tendo problemas para configurar o Xdebug, eis aqui algumas coisas que podem ser feitas agora no PhpStorm para identificar o problema.
phpinfo()
Adicione uma chamada phpinfo()
ao seu script ou página PHP e copie a saída da função visível no navegador. Em seguida, chame Run / Web Server Debug Validation. Você verá uma caixa de diálogo que permite colar a saída de phpinfo()
da etapa anterior.
O PhpStorm analisará a configuração do servidor e detectará os problemas mais comuns.
If the phpinfo()
information didn’t help, you can use PhpStorm’s validation script on the server.
O Xdebug 3.2 tem uma etapa extra de depuração "return from function" (retorno de função) que permite inspecionar o valor de retorno.
O PhpStorm 2022.3 oferece suporte a esse novo recurso. Para acioná-lo, pressione "Step Into" quando estiver na última instrução da função. Como resultado, uma variável adicional será mostrada em Watches.
O tão esperado suporte para testes paralelos no PhpStorm finalmente chegou!
Para executar testes em paralelo, você precisa marcar a opção Use Paratest na configuração de execução dos seus testes e verificar se o caminho para o binário ParaTest está definido corretamente. Normalmente, se você tiver ParaTest adicionado em seu composer.json
, o caminho deverá ser algo como: ./vendor/bin/paratest_for_phpstorm
.
Agora, é possível escolher um formatador externo em Preferences | PHP | Quality Tools. You can now use FriendsOfPHP/PHP-CS-Fixer or squizlabs/PHP_CodeSniffer for this purpose.
A popular task runner for PHP, Robo, received the following extended support:
If you use the Prophecy mocking framework in your tests, working with it in PhpStorm will now be easier.
Você não precisa mais se lembrar ou procurar formatos date()
. O PhpStorm 2022.3 mostra uma dica de ferramentas com uma data de exemplo quando o mouse passa sobre uma string de formato de data.
Além disso, ao editar uma string de formato de data, você terá complementação automática com dicas para todos os caracteres reconhecidos como parâmetros de formato.
Support for array shape annotations was added in PhpStorm 2021.2, then in 2022.1, we added multiline and nested syntax support for array shapes.
A parte final que faltava é fornecida no PhpStorm 2022.3: você obterá complementação de código total para itens de array shape em loops.
Mesclamos duas soluções de sincronização antigas (IDE Settings Sync e Settings Repository) numa única: a nova Settings Sync. Ela permite que você sincronize configurações de maneira confiável em diferentes máquinas e IDEs.
Se você não estava usando uma solução de sincronização de configurações antes, mas deseja experimentar a nova, pode habilitá-la em Settings / Preferences | Settings Sync | Enable Settings Sync.
Você pode configurar esse tipo de conexão em Settings / Preferences | Build, Execution, Deployment | Docker.
Chame as ações de contexto (Alt-Enter) no nome da imagem realçada e selecione Pull Docker image para extrair uma imagem necessária sem executá-la do Dockerfile, docker-compose.yml ou até mesmo de testes usando Testcontainers.
Obtenha realce e complementação em arquivos .dockerignore.
Use scripts multilinhas diretamente em seus Dockerfiles.
Set up additional Docker connections using Docker Contexts by calling the Add Service context menu in the Services view and selecting Docker Connections From Docker Contexts.
O cliente HTTP agora oferece melhores opções de formatação para solicitações com URLs longas. Você também pode usar a ação de contexto Put query parameters on separate lines para dividir a consulta em fragmentos menores em linhas diferentes.
O Cliente HTTP agora oferece suporte a blocos de script executados antes das solicitações. Você pode gerar alguns dados antes da execução da solicitação e transmiti-los para a solicitação subsequente usando variáveis.
O PhpStorm agora fornece a API сrypto, tornando-a capaz de calcular os valores de hash md5 ou sha1 para uma solicitação HTTP.
Agora, há mais funções aleatórias disponíveis, o que é conveniente para testes rápidos de API.
O assistente New Project disponível na tela Welcome do PhpStorm agora inclui modelos de projeto para Vite e Next.js. Também atualizamos o modelo de projeto para Vue para garantir que ele siga os padrões mais recentes.
As dicas embutidas do Code Vision agora também funcionam para JavaScript e TypeScript. Essas dicas facilitarão o rastreamento dos usos de várias classes, métodos, aliases de tipo e interfaces no seu código.
O PhpStorm agora pode cuidar de importações não resolvidas e oferecerá sugestões para importar componentes Vue. Também oferecemos suporte à sintaxe de desestruturação de props, melhoramos o comportamento de complementação de código e verificação de tipos para props de componentes da biblioteca Vue e corrigimos vários problemas com o Nuxt 3.
PhpStorm now supports Vitest, a Vite-native unit test framework! Você pode executar, reexecutar e depurar seus testes de todas as principais maneiras esperadas, inclusive por meio de ícones de medianiz. Além disso, o modo watch está habilitado com o cenário All tests por padrão. Também há suporte para testes e cobertura de snapshots no modo de observação, fornecendo feedback quase instantâneo sobre a cobertura durante a programação.
Essas são as mudanças mais importantes neste lançamento, mas é claro que há muitas outras: Confira o anúncio de lançamento no blog do PhpStorm para obter a lista completa de melhorias nesta versão.