O PhpStorm 2023.1 é uma atualização principal que inclui integração com 3v4l.org, melhor desempenho, nova IU aprimorada, depurador DFA para PHP, suporte para projetos multi-composer.json e muito mais.
Introduzimos uma nova IU no lançamento anterior que ficava desabilitada por padrão. Neste lançamento, continuamos aprimorando a nova IU com base no feedback dos usuários e em nossas pesquisas. Veja algumas das melhorias mencionadas abaixo.
Para habilitar a nova IU, acesse Preferences / Settings | Appearance & Behavior | New UI.
O Modo Compacto melhora a experiência do usuário da nova IU em telas menores. Ele torna as barras de ferramentas e os cabeçalhos das janelas de ferramentas mais enxutos, reduz espaçamentos e preenchimentos e torna os ícones e botões menores para ajudar você a se concentrar no código e não nos controles.
Para ativar o Compact Mode, vá até o menu View e selecione <0>Appearance | Compact Mode0>.
O nome do arquivo que está aberto no momento agora é exibido em um painel quando as abas do editor estão ocultas.
Essa configuração na nova IU permite dividir a área da janela de ferramentas em 2 janelas e organizá-las para que você possa vê-las ao mesmo tempo. Isso é algo que você podia fazer na IU antiga, mas estava faltando na nova versão.
Para adicionar uma janela de ferramentas a essa área e posicioná-la na parte inferior, arraste seu ícone ao longo da barra lateral e solte-o sob o separador. Como alternativa, você pode clicar com o botão direito do mouse no ícone e atribuir o novo posicionamento da janela de ferramentas usando a ação Move to.
Ao abrir vários projetos na mesma janela, os usuários do macOS agora podem alternar facilmente entre eles usando as abas de projeto exibidas na barra de ferramentas principal.
Por padrão, no macOS, as abas de janela são ativadas somente no modo de tela cheia. Se quiser que elas sejam ativadas permanentemente, ajuste as preferências do sistema da seguinte forma:
Em resposta ao feedback que recebemos sobre a nova IU do IDE, reformulamos o widget Run no cabeçalho da janela principal para que sua aparência seja menos intrusiva e mais agradável aos olhos.
PhpStorm 2023.1 natively integrates with 3v4l.org and allows you to run PHP scratch files on any desired PHP version without installing anything on your local machine.
Crie um novo arquivo de rascunho PHP pressionando Ctrl+Alt+Shift+Insert.
Escolha a versão PHP desejada no menu suspenso e pressione o botão Run. Você verá a saída do script ao lado do editor.
If you find 3v4l.org useful, consider supporting its author with a donation here: github.com/sponsors/SjonHortensius.
Neste lançamento, fizemos várias melhorias significativas de desempenho. Continuaremos esse esforço nas próximas atualizações. Aqui está o que você pode esperar neste lançamento.
Alguns pacotes PHP são tão populares que não faz sentido reconstruir seu índice em todas as instâncias do PhpStorm. Em vez disso, já calculamos índices para você para vários pacotes PHP populares, como PHPUnit, aws/aws-sdk-php, doctrine/orm, laravel/framework, symfony/* e muitos outros.
Agora, quando você abre um projeto PHP indexado, o PhpStorm verifica composer.json
para ver quais das dependências especificadas possuem um índice compartilhado previamente criado.
O PhpStorm pode baixar o índice ou ainda reconstruí-lo localmente, dependendo de a sua CPU e RAM serem mais rápidas que sua conexão com a Internet.
Você também pode gerar seus próprios índices compartilhados para seus projetos privados. Saiba mais sobre como fazer isso aqui.
Antes:
Depois:
Como parte dos nosso esforço para melhorar o desempenho, estamos trabalhando para garantir que o maior número possível de ações estejam disponível durante a indexação.
Go to Class (Ctrl+O ou Navigate | Class...) é uma das ações mais populares para navegar pelo código. Neste lançamento, ela está disponível a qualquer momento, mesmo enquanto seu índice está sendo reconstruído. Antes, ela exibia uma lista vazia até que a indexação fosse concluída.
Outra ação que agora está disponível mesmo quando a indexação ainda está em andamento é a anotação do código.
Isso significa que muitos erros e palavras-chave serão destacados pelo PhpStorm com antecedência para tornar seu fluxo de trabalho mais suave e menos demorado.
O IDE agora abre muito mais rápido, pois o PhpStorm usa os caches existentes do projeto da sessão anterior e procura novos arquivos para indexar. Se nenhuma alteração for encontrada após a verificação, o IDE estará pronto para funcionar imediatamente.
Trabalhamos para melhorar o desempenho de todas as inspeções, principalmente as mais pesadas. Algumas delas agora são 30 a 40% mais rápidas, enquanto, para outras, o desempenho aprimorado não foi tão drástico, mas o efeito combinado ainda é perceptível. Assista ao vídeo abaixo para uma comparação com as versões anteriores.
Melhoramos drasticamente o desempenho do realce dentro de tags @php...@endphp
. Todas as palavras-chave e construções agora são realçadas muito mais rapidamente, independentemente da complexidade do código.
As verificações de proteção em tempo real do Windows Defender podem diminuir significativamente a velocidade do IDE. Para evitar isso, o PhpStorm agora sugere adicionar certas pastas à lista de exclusões do Defender.
A notificação fornece a opção de redefinir essas configurações automaticamente ou para verificar primeiro as instruções de configuração do Defender e fazer isso manualmente.
Os usuários que preferem o Xdebug para depurar aplicativos PHP agora podem aproveitar mais um recurso avançado, chamado depurador Data Flow Analysis (DFA). Ele permite que você veja, antecipadamente, branches de código que jamais serão executados, sem precisar usar o depurador para avançar passo a passo pelo código.
O PhpStorm mostra o resultado pré-calculado das condições no inlay à direita antes da execução do código. Isto permite que você tenha uma ideia da situação no código sem precisar se aprofundar. Branches que não serão executados aparecerão acinzentados durante a sessão de depuração.
Se você não tiver interesse nessas informações adicionais durante a depuração, clique com o botão direito do mouse em qualquer inlay de valor précalculado e desative o recurso DFA para a sessão de depuração atual.
Se quiser desativar o recurso permanentemente, pode fazê-lo em Preferences/Settings | PHP | Debug | Xdebug.
Atualmente, o PhpStorm não calcula previamente valores de propriedades devido a limitações técnicas. Essa é uma área para desenvolvimento futuro.
Todas as tags PHPStan e Psalm existentes agora são analisadas corretamente no PhpStorm. Isso deixa o código que possui muitas anotações mais legível.
Anteriormente, o PhpStorm tratava qualquer projeto aberto como um único espaço. No entanto, vemos cada vez mais casos em que há vários aplicativos no mesmo projeto, todos com suas próprias dependências composer.json
.
Implementamos uma base para oferecer suporte a esses tipos de projetos com múltiplos arquivos composer.json
e diretórios vendor. Isto traz os seguintes aprimoramentos:
composer.json
são relatadas corretamente por aplicativo. Agora, você pode usar expressões regulares para criar suas próprias inspeções de busca e substituição. Essas inspeções podem ser especialmente úteis para realçar problemas de estilo e formatação ou problemas simples relacionados ao código.
Acesse Settings/Preferences | Editor | Inspections e pressione o ícone +. Selecione Add RegExp Search Inspection (or Replace) na lista, e você será direcionado para uma caixa de diálogo na qual pode configurar sua nova inspeção.
Para inspeções mais avançadas que podem envolver verificações de hierarquia de tipo, você pode usar inspeções Structural Search and Replace (SSR). Learn more about them in the docs, or check out the example in the video.
Cada lançamento do PhpStorm vem com um monte de novas inspeções prontas para uso. O PhpStorm 2023.1 não é exceção, então aqui estão algumas que vale a pena mencionar:
@final
Você pode marcar classes com a palavra-chave final
, produzindo um erro fatal em caso de violação. Uma abordagem mais suave seria adicionar a tag PHPDoc @final
.
Nesse caso, o PhpStorm realçará a herança incorreta, mas o código não produzirá um erro durante a execução.
Com uma nova correção rápida no PhpStorm 2023.1, agora você pode adicionar um tipo de retorno compatível para métodos em classes filhas ou alterá-lo em caso de incompatibilidade.
A asserção pode ser substituída por assertTrue
/assertFalse
.
Múltiplas instâncias de isset()
de acesso a matrizes aninhadas ou objetos podem ser substituídas por uma única.
Adicionar global
para variáveis acessadas de outros arquivos.
var_dump()
/ dd()
no terminal Queremos melhorar a experiência de depuração para usuários que preferem a abordagem “dump and die”. Como primeiro passo, já ativamos caminhos de arquivo e referências de classe. Clicar neles abre o arquivo correspondente no editor.
Na versão anterior do PhpStorm, adicionamos descrições para diferentes formatos nas funções de data e hora.
Todas as funções que aceitam modos de arquivo agora têm uma descrição detalhada delas em uma lista suspensa de complementação. Você nunca mais terá que lembrar o que r+
, a
e w
significam.
Introduzimos mais live templates, incluindo fun
para o template de função e fori
para loops indexados.
Agora é possível ampliar e reduzir o zoom do PhpStorm como um todo, alterando o tamanho de todos os elementos da IU simultaneamente. No menu principal, selecione View | Appearance e ajuste o zoom do IDE.
Isso pode ser útil para demonstrações, transmissões ao vivo, reuniões online ou apresentações.
Com atalhos exclusivos, será mais fácil invocar essas ações. Acesse a janela Search Actions (Ctrl+Shift+A), digite “zoom ide” e atribua um atalho depois de pressionar Alt+Enter.
Agora, você pode salvar e gerenciar vários layouts de janela de ferramentas e alternar entre eles quando necessário. Verifique as novas ações em Window | Layouts para salvar, atualizar e ativar os layouts.
A nova caixa de seleção Remember size for each tool window está disponível em Settings/Preferences | Appearance & Behavior | Tool Windows. Ela permite unificar a largura das janelas de ferramentas laterais ou manter a capacidade de ajustar livremente seus tamanhos conforme você personaliza seu layout.
Arquivos Markdown agora são compatíveis com a ação do editor Fill Paragraph, que permite dividir longos trechos de texto em linhas de igual comprimento.
Para fazer isso, coloque o cursor dentro do parágrafo que você deseja alterar e escolha a ação no menu Edit. Você também pode usar Find Action (Ctrl+Shift+A) para procurar o comando Fill Paragraph e executá-lo.
Adicionamos uma página a Settings/Preferences | Editor | General | Smart Keys em que você pode configurar e alterar suas preferências de Markdown.
Essa página deve facilitar o gerenciamento das suas preferências, pois possui caixas de seleção separadas para diferentes recursos do editor. Antes, havia apenas uma caixa de seleção em Settings/Preferences | Languages & Frameworks.
Há uma nova caixa de seleção Selection em Settings/Preferences | Editor | General | Appearance | Show Whitespace que permite definir essa configuração de forma que o IDE mostre espaços em branco como pequenos pontos somente quando você seleciona o código.
Adicionamos dicas de cores para alterações na janela de ferramentas Structure.
Isso significa que agora você pode ver quais propriedades, métodos e funções foram alteradas ou adicionadas.
Agora é mais fácil se mover entre branches porque eles são armazenados em listas que podem ser expandidas.
Com o PhpStorm 2023.1 EAP #1, implementamos a complementação automática no pop-up Create New Branch. Assim que você começa a digitar um nome para seu novo branch, o IDE sugere prefixos relevantes com base nos nomes dos branches locais existentes.
Agora, verificações de commit para Git e Mercurial são feitas em segundo plano depois que você faz commit, mas antes de fazer push. Isso deve acelerar o processo geral de commit.
Nossas pesquisas constataram que o cenário mais comum de uso de solicitações pull é quando um usuário vai primeiro ao GitHub e, em seguida, utiliza o IDE nos casos em que é necessário navegar por todo o código.
Para facilitar esse fluxo de trabalho, reformulamos a janela de ferramentas Pull Request. Agora, ela apresenta uma aba dedicada para cada solicitação pull que você abre. A guia exibe instantaneamente a lista de arquivos alterados, mas agora oferece menos distrações do que antes. Isso permite que você se concentre melhor na tarefa atual.
Agora também existe um botão dedicado para executar facilmente a ação considerada a mais importante com base no estado atual da solicitação pull.
A aba Dashboard do nó do Docker Compose agora reúne logs de todos os containers do Docker Compose e os exibe num só lugar. Eles também são atualizados em tempo real.
Agora, você pode se conectar facilmente ao Azure Container Registry. Acesse Preferences / Settings | Build, Execution, Deployment | Docker | Docker Registry e configure-o selecionando a opção Docker V2 no campo de entrada Registry.
:z
para associar volumes no SELinux Agora, você pode adicionar o sinalizador de configuração :z
a bind mounts do Docker, o que permite conectar volumes a containers do Docker em estações de trabalho SELinux.
Para habilitar esta função, acesse Preferences / Settings | Advanced Settings | Docker.
Long-awaited Astro support has landed in PhpStorm! Você pode obtê-lo com o nosso novo plug-in Astro, que pode ser instalado em Preferences / Settings | Plugins. O plug-in fornece funcionalidade básica, incluindo realce de sintaxe, complementação de código com importações automáticas, refatorações, navegação, formatação correta e muito mais.
Adicionamos suporte para TypeScript em templates do Vue. Ele é habilitado quando você define o atributo lang
em uma tag script
para ts
. Anteriormente, JavaScript era sempre usado, ignorando o atributo lang na tag script
. O PhpStorm agora fornece suporte para inline casting, estreitamento de tipos aprimorado e informações corretas sobre tipos inferidos na documentação rápida em templates Single-File Components (SFCs) do Vue.
Nesta versão, adicionamos suporte para opções de configuração, como complementação de nomes de classes personalizados na opção classAttributes
ou experimentais como tailwindCSS.experimental.configFile
.
Você pode definir essas opções de configuração em Preferences / Settings | Languages & Frameworks | Style Sheets | Tailwind CSS.
Essas são as mudanças mais importantes neste lançamento, mas é claro que há muitas outras: Confira o anúncio no blog do PhpStorm para obter a lista completa dos aprimoramentos deste lançamento.