O PhpStorm 2021.2 é uma atualização de grande porte que introduz suporte preliminar para elementos genéricos em PHP, enumerações no PHP 8.1, anotações array shape de uma linha e formatação automática aprimorada do código PHP, bem como novas inspeções e refatorações.
No momento, o PHP não oferece suporte para elementos genéricos em nível de linguagem, mas seu uso por meio de anotações já se tornou bastante popular. Eles tornam o código mais seguro e previsível ao trabalhar com coleções, contêineres, factories e outras aplicações.
Adicionamos suporte para elementos genéricos por meio da anotação @template
. Isso torna o trabalho com coleções mais simples em muitos casos, pois as sugestões conterão elementos do tipo esperado.
Para padrões factory, agora você pode usar a anotação class-string<T>
e obterá uma complementação de código melhor.
Esse suporte preliminar para elementos genéricos não é abrangente e tem limitações conhecidas. Para saber mais sobre isso, leia esta postagem do nosso blog.
A expectativa é de que a nova versão 8.1 do interpretador PHP seja lançada no final de 2021. Mas, como sempre, estamos começando a implantar o suporte desde o início.
Um dos recursos mais esperados do lançamento do PHP 8.1 são as enumerações.
Com o PhpStorm 2021.2, você pode começar a usar enumerações imediatamente. O IDE oferece sugestões de código e validação para evitar que você as use incorretamente.
Uma enumeração no PHP contém um conjunto de casos, pode ter métodos e pode ser usada como uma dica de tipo: em todos esses casos, o PhpStorm fornecerá realce de erros e sugestões adequadas para economizar seu tempo.
Casos de enumeração podem ter equivalentes escalares. Isso é útil se você precisar salvar uma enumeração em um data store. Essas enumerações são conhecidas como backed enums.
Com uma correção rápida, você pode adicionar uma declaração de tipo escalar a um backed enum.
Enumerações também funcionam bem com outros recursos, como condições e expressões de correspondência.
Se houver arrays semelhantes a objetos no seu código, agora você pode definir sua estrutura com esta anotação PHPDoc: array{key: type, key: type, ...}
.
O PhpStorm fornece complementação de código para esses arrays anotados, reduzindo assim o tempo gasto na digitação de rotina e evitando que você cometa erros.
O suporte está limitado a definições de array shape de uma linha. Para estruturas maiores, geralmente é melhor usar objetos e classes reais.
Uma das refatorações do PhpStorm mais usadas, Extract Method, ficou ainda melhor.
Ela permite que você divida métodos grandes em unidades menores e também elimina código duplicado.
Para usar esta refatoração, selecione qualquer parte do código e pressione ⌘⌥M (Cmd+Alt+M / Ctrl+Alt+M).
O PhpStorm tem uma inspeção Duplicated code fragment. Ela realça todos os fragmentos de código que são muito semelhantes. A formatação, os nomes de variáveis e a ordem das instruções podem ser diferentes, desde que o resultado final seja o mesmo.
Essa inspeção realça as primeiras linhas de fragmentos duplicados. Agora, você pode refatorar rapidamente esse código pressionando Alt+Enter na linha realçada e invocando a refatoração Extract Method na correção rápida do código duplicado.
O PhpStorm também pode localizar duplicatas de fragmentos de código menores no escopo atual (método, classe ou arquivo) durante a refatoração. Selecione um fragmento de código e chame a refatoração com ⌘⌥M (Cmd+Alt+M / Ctrl+Alt+M). Você verá a caixa de seleção Review and replace duplicates na parte inferior da caixa de diálogo.
Você também pode chamar a refatoração Extract Method sem selecionar código. Nesse caso, o PhpStorm sugere uma lista de possíveis fragmentos de código. As sugestões são filtradas e contêm apenas os segmentos que faz sentido refatorar.
Você provavelmente já sabe que pode selecionar um trecho de código com a ação Expand/Shrink selection ⌥+para cima / ⌥+para baixo (Ctrl+W / Ctrl+Shift+W). Esta é uma das maneiras mais rápidas de selecionar código para refatoração.
Este lançamento apresenta uma atualização pequena, mas bastante útil: a capacidade de selecionar blocos sem caracteres de chave.
A refatoração Extract Method inclui ainda mais melhorias. Confira todos os detalhes nesta postagem do blog.
Cada versão vem com um monte de inspeções para reduzir o tempo que você perde procurando bugs e corrigindo-os. Pressione Alt+Enter em qualquer código realçado no PhpStorm para aplicar uma correção.
Substitua as verificações de nulo desnecessárias pelo novo operador seguro do PHP 8. Pressione Alt+Enter para realizar a transformação.
O PhpStorm realçará constantes que são acessadas por meio de subclasse ou subinterface em vez da entidade na qual a constante está definida. Substitua o nome da entidade por aquela na qual a constante está definida, usando a correção rápida Alt+Enter.
Agora, o PhpStorm avalia partes de condições para identificar redundâncias. Isso pode ser útil quando as verificações não são óbvias, e você não consegue dizer quais são redundantes apenas ao observá-las.
Adicionamos um novo grupo de inspeções na seção PHP de Settings / Preferences | Editor | Inspections.
Esse grupo inclui inspeções que podem ajudar a identificar bons candidatos para refatoração. Essas inspeções estão desabilitadas por padrão, mas, mesmo nesse estado desabilitado, você verá um ícone de medianiz adicional próximo ao código que elas detectam (em vez do código sublinhado no editor).
Clicar no ícone de medianiz invocará a refatoração sugerida.
Essas inspeções são combinações de várias métricas de qualidade de código: complexidade ciclomática, profundidade de aninhamento, número de variáveis usadas, número total de linhas e muitas outras.
Você pode encontrar a lista de métricas usadas na descrição de cada inspeção.
Expandimos a lista de possíveis ações pré-submissão, com a capacidade de executar testes. Marque a caixa de seleção Run Tests e selecione a configuração a ser executada. É útil fazer uma verificação do código antes que ele esteja no VCS.
Agora, você também pode personalizar as opções Analyze code e Cleanup clicando em Choose profile ao lado delas.
Adicionamos uma nova página de configuração em Preferences / Settings | Tools | Actions on Save.
Lá você encontrará uma lista de ações que podem ser acionadas com Ctrl + S ou no salvamento automático implícito. Essas ações incluem verificações de código, reformatação, limpeza de código, implantação e muitas outras.
Por padrão, o PhpStorm abrirá uma comparação de diferenças entre os arquivos iniciais e alterados no editor, não importa onde você tenha chamado a ação Show Diff. Se o controle de alterações em uma janela separada for mais conveniente para você, basta arrastar e soltar o arquivo desejado do editor.
O recurso Local History tem sido o herói anônimo de muitos desenvolvedores e agora foi aprimorado para permitir que você encontre rapidamente o texto necessário em revisões locais usando o campo de pesquisa na caixa de diálogo Local History.
O PhpStorm 2021.2 oferece uma nova maneira de proteger suas submissões. Agora, você pode habilitar a assinatura de submissões do Git com o GPG. Basta acessar Settings | Version Control | Git e clicar em Configure GPG Key na lista suspensa.
Começando nesta versão, você pode aproveitar a UI do PhpStorm totalmente traduzida nos idiomas chinês, coreano e japonês. A tradução está disponível como plug-ins de pacote de idiomas não incluso, que pode ser facilmente instalado no seu IDE*. Mais de 1,5 milhões de usuários começaram a usar a versão EAP parcialmente traduzida dos nossos pacotes de idiomas. Agora, você pode aproveitar a experiência completa de tradução!
Todos os novos recursos e melhorias do WebStorm 2021.1 também estão disponíveis no PhpStorm 2021.2, prontos para uso ou com plug-ins gratuitos no Plugin Marketplace.
Agora, o PhpStorm pode renomear os valores e funções de useState
. Posicione o cursor em um valor de estado e pressione ⇧F6/Shift+F6 ou acesse Refactor | Rename no menu de contexto ativado com o botão direito do mouse.
Agora, o PhpStorm pode adicionar declarações de importação ausentes quando você usa a complementação de código ao trabalhar com módulos CommonJS.
Confira as Novidades no DataGrip 2021.2 - todos esses recursos estão disponíveis no PhpStorm também. Eis aqui algumas delas.
Agora, é possível gerar uma fonte de dados DDL com base em uma real. Os arquivos DDL serão criados no disco, e a nova fonte de dados será baseada neles. Dessa maneira, você sempre poderá gerar novamente esses arquivos e atualizar a fonte de dados DDL.
Nossa complementação de código agora está no console do MongoDB.
Aqui estão apenas algumas das muitas melhorias e aprimoramentos adicionais no PhpStorm 2021.2:
dirname()
.