O que há de novo no PhpStorm 2021.1

O PhpStorm 2021.1 é uma atualização importante que traz a possibilidade de pré-visualizar arquivos PHP e HTML no editor, mais de 20 novas inspeções para ajudar a prevenir bugs, melhorias em todos os subsistemas e programação em pares via Code With Me.

PHP

Defina o nível da linguagem PHP através da barra de status

Defina o nível da linguagem PHP através da barra de status

Defina qualquer versão PHP para o projeto sem precisar modificar composer.json. Isso pode ser útil, por exemplo, para comparar a base de código existente com uma versão mais recente do PHP antes de tomar a decisão de migrar para ela.

Localize configurações PHP com mais facilidade

Localize configurações PHP com mais facilidade

Para que fique mais fácil encontrar e alterar as configurações relacionadas ao PHP, movemos essa seção para o nível superior em Settings / Preferences | PHP.

Visualize o resultado de arquivos PHP e HTML no editor

No Editor, há um novo ícone no canto superior direito que abre uma aba para pré-visualizar arquivos dentro do PhpStorm. Funciona com arquivos HTML e PHP.

Abra um arquivo PHP, digite seu código e você poderá ver imediatamente o resultado ao lado dele. Não há necessidade de mudar para outras janelas! Quaisquer alterações nos arquivos CSS e JavaScript vinculados também serão refletidas na visualização.

Visualize o resultado de arquivos PHP e HTML no editor

O PhpStorm usa um interpretador PHP local que é especificado nas configurações do projeto em Settings/Preferences | PHP. Docker e outros interpretadores remotos não são suportados.

Você pode ativar o ícone de pré-visualização ativando pelo menos um navegador em Preferences | Tools | Web Browsers e marcando a caixa de seleção For HTML files.

Você também pode usar o atalho Alt+F2 para abrir uma aba de pré-visualização.

Use prefixos de tabela em consultas SQL

Muitos sistemas de gerenciamento de conteúdo e frameworks permitem que você especifique um prefixo de tabela. Isto é útil quando você usa o mesmo banco de dados em múltiplas aplicações.

Use prefixos de tabela em consultas SQL

Nas versões anteriores, o PhpStorm não faria a integração do banco de dados nesses casos porque as consultas SQL continham marcadores como prefixos.

Agora é possível definir prefixos através do arquivo .phpstorm.meta.php. Saiba mais sobre meta arquivos e como especificar prefixos SQL no artigo de ajuda.

Inspeções e correções rápidas

A expressão booleana pode ser simplificada

A expressão booleana pode ser simplificada

Se uma expressão booleana contiver literais true ou false, o PhpStorm pode lhe ajudar a simplificá-la. Use uma correção rápida Alt+Enter para remover as redundâncias e melhorar a legibilidade.

Comparação rigorosa de operandos com tipos incompatíveis

Comparação rigorosa de operandos com tipos incompatíveis

O operador === para comparação rigorosa (strict) sempre terá resultado false se o tipo de um dos operandos não for igual ao tipo do outro.

O PhpStorm irá destacar esses casos, pois eles podem ser, potencialmente, uma fonte de bugs. O PhpStorm leva em consideração todas as informações inferidas por tipo e vai ajudá-lo a encontrar problemas em casos menos óbvios.

PHP 8: Substitua a atribuição na chamada de função por um argumento nomeado

PHP 8: Substitua a atribuição na chamada de função por um argumento nomeado

Costumava ser uma prática comum adicionar uma atribuição de variável numa chamada de função para imitar um nome de parâmetro.

Com o PHP 8, use Alt+Enter para substituir a atribuição por um argumento nomeado.

Substituir `isset` com coalesce

Substituir `isset` com coalesce

Este trecho de código isset($a) ? $a : $b; tem exatamente o mesmo efeito que $a ?? $b, então o PhpStorm irá sugerir uma correção rápida Alt+Enter para substituí-lo.

Simplificar blocos `if` com conteúdo comum

Simplificar blocos `if` com conteúdo comum

Alguns blocos if ou else podem se tornar redundantes depois de mudanças que deixam seu conteúdo igual. O PhpStorm irá oferecer a opção de extrair as partes comuns ou mesclar os blocos.

Inverter instrução `if`

Inverter instrução `if`

Pressione Alt-Enter em qualquer `if` e escolha Invert `if` statement a partir do menu. Isto vai mudar a condição para o seu oposto e fará os ajustes de código necessários para preservar a lógica. Se você é um fã da prática de retorno antecipado (early return), esta ação vai ajudá-lo a refatorar seu código.

Caractere inicial '\' desnecessário em instrução 'use'

Caractere inicial '\' desnecessário em instrução 'use'

Em alguns casos, a barra invertida inicial é redundante em namespaces. O PhpStorm ajuda a determinar onde ela pode ser removida.

Variável `foreach` sobrescreve variável já definida

Variável `foreach` sobrescreve variáveis já definidas

Variáveis usadas para chave e valor em loops foreach podem entrar em conflito com nomes de outras variáveis ou parâmetros. O PhpStorm destaca todos os lugares onde esses erros podem ocorrer.

Sintaxe com chaves desnecessária para variáveis

Sintaxe com chaves desnecessária para variáveis

O PhpStorm chama a atenção com um destaque quando as chaves no contexto de uma interpolação de string são redundantes e podem ser removidas com segurança para deixar o código mais limpo.

Alterar o tipo de parâmetro com base num valor default

Alterar o tipo de parâmetro com base num valor default

Se o tipo declarado não corresponder ao tipo de um valor, você pode rapidamente atualizar o tipo usando Alt+Enter. Ou com o PHP 8, o PhpStorm irá sugerir o uso de um tipo union.

Substituir `isset` com `!== null`

Substituir `isset` com `!== null`

O uso da função isset() só é eficaz em arrays e variáveis. Em todos os outros casos, faz mais sentido verificar se o operando não é null. Use Alt+Enter para substituir as verificações isset() por verificações de valor null.

Destacar links http:// inseguros

O PhpStorm destaca os usos do protocolo http:// em strings e oferece uma correção rápida Alt+Enter para convertê-los em https://. Você também pode adicionar URLs à lista de ignorados através de uma correção rápida.

Combinação suspeita de nomes

Combinação suspeita de nomes

O PhpStorm destaca alguns típicos usos incorretos de nomes de parâmetros ou valores de retorno, por exemplo $needle e $haystack ou $x e $y. Isto pode ser um bug em potencial ou no mínimo bastante confuso para quem lê o código.

Configurar inspeções pré-commit

Configurar inspeções pré-commit

Agora você pode escolher um perfil de inspeção de código antes de fazer commit das alterações no VCS. Clique no ícone de engrenagem para mostrar as opções de commit, depois marque a caixa de seleção Analyze code, clique em Configure profile e escolha o perfil desejado. Perfis podem ser criados em Preferences/Settings | Editor | Inspections.

Outros

Escopo sintético para melhor refatoração

Escopo sintético para melhor refatoração

Em PHP, estruturas de loop como blocos foreach, for, while e catch não têm escopos isolados. Isto pode ser inconveniente se você quiser renomear uma variável somente dentro de um bloco.

No PhpStorm 2021.1, introduzimos um escopo sintético para esses blocos para que a refatoração de renomeação (Shift+F6) seja mais intuitiva.

Melhor injeção automática de linguagem

Melhor injeção automática de linguagem

PhpStorm 2021.1 analisa como as variáveis são usadas e injeta referências de linguagem automaticamente.

Por exemplo, se uma variável for usada numa função preg_*, o PhpStorm sabe que é um padrão e destaca o RegExp.

Extensões na seção `suggest` do composer.json

Extensões na seção `suggest` do composer.json

O PhpStorm agora considera extensões nas seções require e suggest.

O PhpStorm irá avisá-lo quando uma extensão for registrada no composer.json como sugerido, mas é usada sem verificações, como extension_loaded() ou function_exists(). Você pode usar uma correção rápida para mover extensões para require/require-dev.

Correções notáveis

Neste lançamento, nosso principal foco foi estabilidade e qualidade. No total, corrigimos 2246 problemas enviados ao nosso rastreador de issues por usuários e membros da equipe JetBrains. Eis aqui alguns dos mais interessantes:

  • Agora é possível depurar projetos WSL 2 no Docker.
  • Ferramentas de qualidade agora resolvem caminhos com o docker-compose em modo exec.
  • Arquivos grandes (mais de 5000 linhas) são manipulados corretamente.
  • Melhoramos o desempenho de forma significativa nos projetos que têm muitos aliases.

Code With Me

Desenvolvimento colaborativo com Code With Me

O Code With Meé uma ferramenta da JetBrains para desenvolvimento colaborativo e programação em pares. Ela inicialmente foi incluída no PhpStorm 2020.3 e neste lançamento vem com uma lista de melhorias importantes.

Defina o nível de acesso necessário ao seu projeto e compartilhe o link com seus colegas. Eles nem sequer precisam ter seus próprios IDEs instalados para colaborar. Além disso, a plataforma inclui chamadas de áudio e vídeo incorporadas, junto com mensagens de bate-papo.

Para empresas que exigem segurança extra, o Code With Me on-premises pode ser instalado e executado com segurança na rede privada da própria empresa.

Cliente HTTP

Suporte a SSL

Suporte a SSL

Agora você pode definir configurações de SSL no cliente HTTP clicando em Add environment file e selecionando Private. O IDE vai criar um arquivo automaticamente, onde você poderá adicionar suas configurações SSL: clientCertificate, hasCertificatePassphrase, clientCertificateKey, verifyHostCertificate.

Melhorias na interface do usuário

Melhorias na interface do usuário

Há um novo ícone de olho que contém opções para a forma como o corpo da resposta é exibido. Você pode alternar os modos entre Texto / JSON / HTML / XML, pode ativar a numeração das linhas e há um novo botão para rapidamente copiar o corpo da resposta para a área de transferência (Copy Response Body to Clipboard).

IDE

Maximize as abas na view repartida

Maximize as abas na view repartida

Reparta o editor arrastando uma aba para os cantos da janela do IDE. Depois dê um duplo-clique na aba para maximizar a área do editor para ocupar o espaço dela. Dê outro duplo-clique nele para restaurá-lo ao tamanho original.

Suporte JSONPath

Suporte JSONPath

Use a linguagem de consulta JSONPath para pesquisar dentro de documentos JSON. Novas ações estão disponíveis em Edit | Find | Evaluate JSONPath.

Suporte ao formato JSON Lines

Suporte ao formato JSON Lines

PhpStorm now supports the newline-delimited JSON Lines format used for working with structured data and logs. O IDE reconhece os tipos de arquivo .jsonl, .jslines, .ldjson e .ndjson.

Configurações de tipografia

Configurações de tipografia

Agora é possível ajustar variações em fontes e configurar uma fonte substituta. Encontre as novas opções em Typography Settings em Preferences / Settings | Editor | Fonts.

Tecnologias Web

Todos os novos recursos e melhorias do WebStorm 2021.1 também estão disponíveis no PhpStorm 2021.1, prontos para uso ou com plug-ins gratuitos no Plugin Marketplace.

Suporte aprimorado para Stylelint

Suporte aprimorado para Stylelint

Você agora pode corrigir problemas no CSS com o Stylelint em apenas alguns cliques. Passe o mouse sobre um problema no seu arquivo ou coloque o sinal de intercalação sobre ele, pressione Alt+Enter e selecione Stylelint: Fix current file.

Além disso, agora você pode especificar um caminho para o arquivo de configuração em Settings / Preferences | Languages & Frameworks | Style Sheets | Stylelint.

Verifique a especificidade dos seus seletores

Verifique a especificidade dos seus seletores

When working with style sheets, you can now check the specificity of your selectors – just hover over a selector that you want to check. Como alternativa, foque num seletor e pressione F1/Ctrl+Q para ver essas informações no pop-up Documentation.

Melhorias em solicitações pull do GitHub

Para criar uma nova solicitação pull, clique no ícone + ou vá para Git | GitHub | Create Pull Request.

Melhorias em solicitações pull do GitHub

A nova caixa de diálogo inclui tudo o que você precisa:

  • Selecionar branches head e base de uma lista que inclui todas as branches disponíveis.
  • Revisar arquivos alterados na aba Files.
  • Editar o título da solicitação pull e sua descrição, indicar revisores e responsáveis, adicionar rótulos.
  • Criar solicitações pull de rascunho.

Ferramentas de banco de dados

Confira as Novidades no DataGrip 2021.1 - todos esses recursos estão disponíveis no PhpStorm também. Eis aqui algumas delas.

Interface do usuário para permissões de acesso

Interface do usuário para permissões de acesso

A janela "Modify user", que você pode invocar num usuário no "Database Explorer" com Cmd/Ctrl+F6, agora tem uma interface do usuário para adicionar permissões de acesso a objetos.

Disponível para PostgreSQL, Redshift, Greenplum, MySQL, MariaDB, DB2, SQL Server e Sybase.

Modelos dinâmicos de contexto

Modelos dinâmicos de contexto

Esta é nossa solução para quem quiser gerar instruções simples diretamente a partir do navegador do banco de dados. Quando você clica com o botão direito do mouse num objeto no explorer, a lista que aparece contém itens especiais do modelo dinâmico.

Saiba mais sobre como criar seus próprios modelos dinâmicos de contexto.