Estes são alguns destaques desta versão:
xdebug_notify()
O PhpStorm 2024.3 está cheio de novas inspeções e correções rápidas, para ajudar você a fazer uma atualização suave para os muitos novos recursos do PHP 8.4. Veja abaixo uma breve visão geral do suporte aos novos recursos do PHP 8.4 no seu fluxo de trabalho com o PhpStorm.
Os hooks de propriedades são uma das maiores alterações na história recente do PHP. Eles foram projetados para eliminarem getters e setters padronizados, permitindo que você implemente hooks get
e set
para propriedades.
O PhpStorm oferece os seguintes recursos para hooks de propriedades (incluindo aqueles localizados dentro de propriedades promovidas):
get
e set
. get
e set
, inserindo os corpos dos hooks de propriedades. get
e set
para uma propriedade, através de uma ação Generate semelhante a Generate | Getters and Setters. A visibilidade assimétrica permite que se defina visibilidade separada para operações de leitura e gravação em propriedades com tipos.
O PhpStorm 2024.3 ajuda a garantir a implementação adequada de escopos de visibilidade assimétrica no seu código, fornecendo verificações e correções rápidas para:
set
de uma propriedade mais ampla que a visibilidade principal (get
). final
redundantes em propriedades private (set)
. set
. Você pode usar o PhpStorm 2024.3 para converter loops foreach
para as novas funções array_find()
, array_find_key()
, array_any()
e array_all()
do PHP 8.4.
new
sem parênteses O PhpStorm 2024.3 aceita que se omitam os parênteses em volta da expressão new
em construções do tipo (new MyClass())->method()
.
Observe que os recursos do JetBrains AI Assistant só estão disponíveis com uma assinatura do AI Pro ou na versão de avaliação.
Melhoramos significativamente a qualidade e reduzimos a latência da nossa complementação por IA de código em PHP. Essas melhorias são baseadas no Mellum, o novo modelo grande de linguagem (LLM) exclusivo da JetBrains, otimizado para complementação de código mais rápida, mais inteligente, mais sensível ao contexto e baseada na nuvem.
Para mais informações sobre o novo LLM da JetBrains, veja esta postagem no blog.
Agora as sugestões de complementação de código in-line têm realce de sintaxe, melhorando sua legibilidade.
Agora sugestões de código em múltiplas linhas podem ser aceitas todas de uma vez (teclando Tab) ou de forma incremental — palavra por palavra (Ctrl+→) ou linha a linha (End).
Com os novos prompts de IA in-line, agora o AI Assistant detecta e processa solicitações em linguagem natural quando você as digita diretamente no editor. O AI Assistant interpreta as solicitações instantaneamente e sugere o código correspondente sem que você tenha que fazer mais nada.
O PhpStorm coloca uma marca roxa na medianiz junto às linhas alteradas pelo AI Assistant, para que você possa ver facilmente o que foi alterado. Se você não gostar de uma sugestão, poderá alterar o prompt inicial clicando no bloco roxo na medianiz ou teclando Ctrl+/.
Nesta atualização, tornamos mais transparente e intuitivo o gerenciamento do contexto que o AI Assistant considera para dar suas sugestões. A interface de usuário foi reformulada e permite que você visualize e gerencie todos os elementos incluídos no contexto, proporcionando total visibilidade e controle. Agora o arquivo aberto e qualquer código selecionado dentro dele são adicionados automaticamente ao contexto, e você pode facilmente adicionar ou remover arquivos quando precisar, personalizando o contexto para se encaixar no seu fluxo de trabalho. Além disso, você pode anexar instruções globais de projeto para orientar as respostas do AI Assistant em toda a sua base de código.
O AI Assistant agora ajuda a gerar títulos e descrições precisos para suas solicitações de pull e merge diretamente do IDE, simplificando seu workflow e garantindo que suas descrições sejam claras e concisas.
Algumas novas ações úteis para lidar com erros na execução de consultas SQL com o AI Assistant podem ser acessadas na área de mensagens de erro. Explain with AI abre o chat de IA mostrando um prompt já enviado automaticamente e a resposta do AI Assistant explicando o erro. A ação Fix with AI gera uma correção para o erro de execução da consulta no editor.
Leia mais sobre todas as atualizações no JetBrains AI Assistant.
xdebug_notify()
Para melhorar ainda mais a sua experiência de depuração em PHP, agora o PhpStorm fornece uma maneira estruturada de tratar a saída enviada pela função xdebug_notify()
.
As chamadas a xdebug_notify()
foram introduzidas no Xdebug 3.1 e permitem que você envie variáveis de forma seletiva para o console de depuração no PhpStorm.
Para os desenvolvedores em Laravel que usam o Laravel Herd, agora o PhpStorm 2024.3 detecta automaticamente o caminho até o executável do PHP atualmente em uso pelo Laravel Herd na sua máquina. Para usar esse interpretador no PhpStorm, vá até as configurações do interpretador da interface de linha de comando ((PHP | CLI interpreter | …). Será aberto o diálogo CLI Interpreters. Nesse diálogo, selecione o executável do PHP na lista de opções pré-configuradas.
O PhpStorm 2024.3 melhora significativamente a experiência dos desenvolvedores em Laravel com o framework de testes Pest. Implementamos o suporte total ao Pest 3.0 e a capacidade de executar testes paralelos e de mutação no Pest diretamente do IDE.
O recém-lançado Pest 3.0 introduziu os testes de mutação, que fazem pequenas alterações no código para ver se os testes as detectam.
Você pode acionar a opção Run Tests (Pest) with Mutation no PhpStorm 2024.3 da mesma forma que para qualquer outra opção de teste — diretamente do editor, da janela de ferramentas Project ou através de uma configuração de execução/depuração — e usar a janela de ferramentas dedicada Pest Mutation para verificar os resultados do teste.
Só não deixe de se certificar de que o interpretador de PHP usado no seu IDE também tenha o Xdebug 3.0 ou mais recente instalado.
Para mais detalhes, consulte a documentação do PhpStorm.
No PhpStorm 2024.3, você não precisa mais passar para o terminal para executar testes do Pest no modo em paralelo. Basta navegar até o arquivo de teste e selecionar Run Tests (Pest) in Parallel a partir do ícone na medianiz do editor, do menu de contexto da janela de ferramentas Project ou através de uma configuração de execução/depuração.
Agora o PhpStorm pode resolver automaticamente conflitos de merge de instruções de importação. Para ativar este recurso, selecione a opção Resolve conflicts in import statements no diálogo de merge, abaixo do ícone da engrenagem, ou vá até Settings | Tools | Diff & Merge e selecione Automatically resolve conflicts in import statements.
O recurso Find in Files ganhou um novo escopo de pesquisa, Project Files Excluding Git-Ignored. Esta opção exclui dos resultados das suas pesquisas quaisquer arquivos que constem nos arquivos .gitignore
, ajudando você a se concentrar apenas no código que for relevante ao fazer pesquisas no seu projeto.
Agora você pode gerenciar verificações em segundo plano durante o processo de commit com a nova opção Run advanced checks after a commit is done, em Settings | Version Control | Commit. Essa configuração permite decidir se testes e inspeções devem ser executados depois de você fazer um commit. Se quiser que essas verificações sejam concluídas antes do commit, basta desabilitá-las.
A tela Welcome agora mostra o nome do branch, o que ajuda a manter a organização ao lidar com várias versões do projeto e permite alternar facilmente entre os diretórios de trabalho.
Agora o PhpStorm permite a introspecção de fragmentos. Anteriormente, o agente de introspecção podia realizar apenas uma introspecção completa de esquemas nos bancos de dados MySQL ou MariaDB, mas não atualizar os metadados de um único objeto. Sempre que uma instrução DDL era executada no console e essa execução era capaz de modificar um objeto no esquema do banco de dados, o IDE iniciava uma introspecção completa de todo o esquema. Isso consumia muito tempo e frequentemente interrompia o workflow.
Agora o PhpStorm pode analisar uma instrução de DDL, determinar quais objetos podem ser afetados por ela e atualizar apenas esses objetos. Se você selecionar um único item no Database Explorer e chamar a ação Refresh, apenas um objeto será atualizado, em vez de todo o esquema, como era antes.
JOIN
Em certos casos, a execução de uma consulta que contenha um número excessivo de cláusulas JOIN
não é recomendada devido à degradação do desempenho. O editor agora pode identificar e destacar essas consultas. É possível habilitar essa inspeção nas configurações do IDE. Para isso, navegue até Editor | Inspections, expanda a seção SQL e selecione Excessive JOIN count.
Para tornar a paginação da grade mais perceptível em nosso editor de dados, movemos o controle da barra de ferramentas para a parte inferior central do editor de dados.
Agora o PhpStorm exclui os resultados de node_modules
como padrão ao usar Find in Files em diretórios de projetos, reduzindo a aglomeração causada por arquivos irrelevantes. Você pode restaurar o comportamento anterior habilitando a opção Search in library files when “Directory” is selected in Find in Files, em Settings | Advanced Settings.
Aprimoramos as dicas no editor para os componentes Vue, Svelte e Astro. Agora a ação Show component usages localiza usos em importações e modelos de marcação. Também adicionamos um filtro Show Component Usages para excluir usos de componentes ao pesquisar referências de arquivos regulares. A refatoração Rename também foi atualizada com uma opção para incluir usos ao renomear um arquivo de componente.
Agora as cores das classes de CSS do Tailwind são exibidas in-line no editor, tornando mais fácil diferenciar as cores. Adicionamos o suporte ao método textDocument/documentColor
do Language Server Protocol (LSP) e agora todos os plug-ins baseados em LSP oferecem esse recurso desde a instalação.
Em projetos com o Angular 19, o WebStorm agora adota como padrão o modo stand-alone para componentes, diretivas e pipes. Correções rápidas foram adicionadas para ajudar na conversão entre componentes standalone e não standalone. Importações standalone não utilizadas podem ser removidas automaticamente durante a reformatação do código ou por meio de uma nova inspeção. O suporte à sintaxe @let
também foi melhorado.
Agora, como padrão, o DataGrip realça automaticamente todas as ocorrências de um texto que você selecionar dentro de um arquivo. Isso facilita verificar onde o texto selecionado aparece em todo o seu código. Se você preferir o comportamento anterior, poderá desativar este recurso em Settings | Editor | General | Appearance.