Os destaques dessa importante atualização incluem:
O AI Assistant da JetBrains agora está disponível ao público com uma série de recursos novos e aprimorados para aumentar sua produtividade nos IDEs da JetBrains.
O AI Assistant agora pode gerar blocos de código com várias linhas para você. Basta começar a digitar uma nova linha e, se uma sugestão de LLM estiver disponível, um snippet de código esmaecido aparecerá. Pressione Tab para aceitar a sugestão.
Atualmente, essas sugestões estão disponíveis em contextos de classes ou definições de funções.
O AI Assistant também pode gerar testes para métodos de classes. Com o cursor colocado no método de classe que você deseja abranger com testes unitários, basta pressionar Alt+Enter, selecionar AI Assistant e escolher Generate Unit Tests.
Anteriormente, você podia usar o chat de AI para gerar snippets de código. Agora, existe uma ação AI Assistant | Generate code… que abre um prompt dentro do editor. Você será solicitado a inserir uma descrição do código que deseja gerar. Depois de fazer isso, o AI Assistant fornecerá sugestões, e você poderá aceitar todas ou parte delas.
Às vezes, quando você executa um script PHP ou uma configuração de execução, ou quando executa uma ação do Composer, o trabalho falha por algum motivo. O AI Assistant pode ajudar você a determinar a causa raiz do problema. Clique no botão Explain with AI em um rastreamento de pilha ou mensagem de erro para obter uma explicação gerada por IA.
Use o AI Assistant no PhpStorm como recurso complementar com uma assinatura do JetBrains AI Service.
PhpStorm now supports the Pest test framework out of the box. We recently agreed with the original author of the Pest plugin to take over its development and bundle it in PhpStorm. You can read the details in our recent blog post.
Assim como os testes do PHPUnit, os testes do Pest agora podem ser executados diretamente no PhpStorm. Quando você coloca o cursor dentro de um teste e aciona a janela de execução, uma configuração de execução é criada para esse teste específico. Você pode posicionar o cursor no arquivo, mas não dentro de qualquer teste específico, para acionar todos os testes nesse arquivo.
Com o novo suporte ao Pest, você pode escrever asserções chamando funções ou métodos em $this
. Ele também melhora a complementação automática em funções de teste, para que você possa ver quais asserções estão disponíveis enquanto digita.
No Pest, você pode escrever expectativas personalizadas para reduzir verificações estereotipadas nos seus testes. O PhpStorm pode ajudar a encontrar usos de expectativas personalizadas e a renomeá-las.
O PhpStorm 2023.3 vem com suporte completo para PHP 8.3. A maioria das alterações no IDE será integrada organicamente ao seu workflow do PhpStorm sem que você perceba, então mencionaremos apenas os novos recursos que você precisa conhecer para se beneficiar delas.
#[\Override]
O PHP 8.3 introduz o novo atributo #[\Override]
. Ele pode ser usado para mostrar explicitamente sua intenção ao sobrescrever um método. O mecanismo PHP é capaz de verificar se um método marcado com #[\Override]
realmente substitui o método pai, lançando uma exceção se esse não for o caso. O PhpStorm 2023.3 avisa com antecedência sobre esses casos.
O PhpStorm também sugere adicionar o atributo #[\Override]
quando aplicável.
json_validate()
O PHP 8.3 adiciona a nova função json_validate()
à biblioteca padrão. Antes, a única maneira de validar se uma string era válida em JSON era decodificá-la e detectar se algum erro era gerado. O PhpStorm pode detectar esses padrões e sugerir sua substituição por uma chamada de função json_validate()
. Isso pode ser benéfico se você precisa apenas saber se a entrada é válida em JSON, pois usa menos memória em comparação à decodificação da string.
No PHP 8.3, você pode declarar tipos para constantes de classes. Todas as declarações de tipo podem ser usadas, exceto void
, callable
e never
.
Para constantes de classe tipadas, o PhpStorm fornece:
O PHP 8.3 introduz algumas descontinuações, e o PhpStorm oferece inspeções correspondentes para identificá-las.
O PhpStorm 2023.3 traz várias melhorias para desenvolvedores Symfony.
Um novo inicializador de projeto incorporado para Symfony permite que você crie novos projetos do Symfony com os tipos e versões desejados diretamente na tela Welcome.
Agora, você pode aproveitar o suporte completo do IDE para DQL dentro de chamadas de método do QueryBuilder. Os recursos incluem realce, complementação de campos, capacidade de resolução para a classe de modelo de destino e muito mais.
Following the introduction of attributes in PHP 8.0, Doctrine annotations are being deprecated and will soon be removed. Para ajudar você a fazer a mudança, o PhpStorm 2023.3 inclui funcionalidade para converter anotações do Doctrine em atributos.
O PhpStorm também oferece suporte para a conversão de anotações do Symfony em seus atributos correspondentes, como #[Required]
, #[Route]
e assim por diante.
Como um novo recurso experimental, também adicionamos a capacidade de excluir diretórios provenientes de bibliotecas indexadas. Excluir esses arquivos do seu projeto ajudará você a evitar problemas de definições múltiplas e a melhorar o desempenho da indexação.
Continuamos trabalhando para melhorar a experiência de uso de genéricos. No PhpStorm 2023.3, agora é possível configurar a codificação por cores de genéricos, facilitando a distinção entre tipos genéricos.
Com o aumento da adoção de atributos, às vezes pode ser difícil ler um código anotado com longos atributos de múltiplas linhas de um determinado framework. No PhpStorm 2023.3, isso não deve mais ser um problema, já que agora você pode recolher atributos multilinhas.
PHPUnit 10 introduced support for attributes for adding metadata to test classes and test methods, as well as tested code units. Implementamos uma inspeção e uma solução rápida que ajudará você a migrar das antigas anotações PHPDoc para esse novo estilo.
O PhpStorm 2023.3 apresenta uma maneira renovada de revisar alterações. Agora, em vez de passar por cada arquivo um por um, você pode ver todos os arquivos modificados de um conjunto de alterações em um único quadro rolável. Esse novo visualizador de diferenças pode ser acessado na janela da ferramenta Git Log e funciona atualmente com análises do JetBrains Space. Estamos trabalhando para torná-lo compatível com GitLab e GitHub.
A nova opção embutida Run to Cursor do PhpStorm 2023.3 permite que você execute rapidamente até uma linha específica de código durante a depuração. Depois que seu programa for suspenso, você poderá passar o mouse sobre a linha de código que deseja executar e usar o pop-up Run to Cursor. O mesmo pode ser feito invocando o atalho de teclado Alt + F9 após colocar o cursor na linha desejada.
Em resposta aos seus comentários sobre a nova UI, tornamos possível ocultar a barra de ferramentas principal ao usar o modo de visualização padrão do IDE, assim como na UI antiga. Para remover a barra de ferramentas, selecione View | Appearance e desmarque a opção Toolbar.
Com o lançamento do PhpStorm 2023.1, introduzimos a capacidade de salvar vários layouts de janelas de ferramentas e alternar entre eles, melhorando a personalização do seu espaço de trabalho. No PhpStorm 2023.3, estamos expandindo essa funcionalidade com a introdução da opção Layout padrão, que fornece uma maneira rápida de reverter a aparência do seu espaço de trabalho para o estado padrão. Esse layout não é personalizável e pode ser acessado via Window | Layouts.
Para facilitar o trabalho com vários tipos de arquivos no editor ao mesmo tempo, introduzimos a codificação por cores nas abas do editor por padrão, refletindo sua aparência na janela de ferramentas Project.
Repleto de recursos do WebStorm, o PhpStorm agora resolve algumas das inconsistências frustrantes que ocorrem ao adicionar instruções do tipo import type
e facilita o trabalho com verbatimModuleSyntax
. Adicionamos a opção de configurar o tipo de instrução TypeScript import type
. Também melhoramos o comportamento do campo exports
de package.json para arquivos TypeScript.
Agora, quando você cola o código HTML em um arquivo JSX, o PhpStorm não apenas converterá atributos, como também fechará automaticamente tags únicas para você. Você pode configurar essa opção em Settings | Editor | General | Smart Keys | JavaScript.
@property
em CSS personalizado To support the new @property
API for creating custom CSS properties, PhpStorm 2023.3 now offers inspections and completion features for explicitly defining CSS custom properties, allowing you to check and restrict property types, establish default values, and determine inheritance possibilities for custom properties.
Adicionamos suporte para defineSlots
, fornecendo complementação e navegação para o nome do slot
, bem como a refatoração Rename. Também introduzimos suporte para complementação de propriedades com defineExpose
. No PhpStorm 2023.3, as importações necessárias para componentes serão adicionadas com base no nome especificado pela função defineOptions
.