Temos o prazer de apresentar a você o primeiro grande lançamento do PhpStorm este ano! Abaixo do corte está uma análise detalhada de todas as mudanças e novos recursos.
PHP
- PHP- HTML- PHP.
- 20 PHP.
- , PHP, — Settings / Preferences.
- PHP composer.json.
- SQL, RegExp . . .
- SQL- CMS.
- .
IDE
- Split .
- JSONPath JSON-.
- JSON Lines.
- Preferences | Editor | Font.
Docker
Version Control
- - GitHub — IDE .
Code With Me
- A nova ferramenta de programação de pares da JetBrains está disponível para usuários do PhpStorm gratuitamente. Code With Me oferece co-programação em tempo real, chamadas de áudio e vídeo integradas e mensagens instantâneas.
Você pode baixar o PhpStorm 2021.1 no site ou no aplicativo Toolbox .
Isso é breve e agora mais sobre tudo.
PHP
Seleção da versão do PHP via barra de status
Na versão anterior, adicionamos o indicador de versão do PHP na barra de status. Em 2021.1, a versão pode ser alterada independentemente da especificada no
composer.json
. Isso permitirá, por exemplo, verificar rapidamente a compatibilidade do código com as versões mais recentes do PHP.
Encontre facilmente as configurações de PHP
A maioria das configurações relacionadas ao PHP agora estão disponíveis em Configurações / Preferências | PHP .
Visualize arquivos PHP e HTML no editor
Quando você passa o mouse sobre qualquer lugar no editor, uma janela pop-up com ícones do navegador é exibida no canto superior direito. Ao clicar no ícone, o arquivo atual será aberto no navegador selecionado.
Agora também há um ícone PhpStorm aqui. Ao clicar nele, o arquivo será aberto para visualização direto no editor.
A visualização funciona em arquivos HTML e PHP, bem como em todos os arquivos CSS e JavaScript associados.
Abra o arquivo e comece a digitar - a guia de visualização mostrará instantaneamente todas as alterações.
PhpStorm usa um interpretador PHP local que pode ser especificado para o projeto em Configurações / Preferências | PHP... Docker e outros intérpretes não locais ainda não são suportados.
Se não houver ícones no editor, certifique-se de que em Preferências | Ferramentas | Navegadores da Web , pelo menos um navegador está selecionado e a caixa de seleção Para arquivos HTML está marcada .
Você também pode abrir a guia de visualização pressionando Alt + F2.
Usando prefixo de tabela em consultas SQL
Muitos CMS e estruturas permitem tabelas de prefixação. Isso pode ser útil ao usar o mesmo banco de dados para vários aplicativos.
Anteriormente, a integração com ferramentas de banco de dados era perdida porque os nomes das tabelas eram gerados dinamicamente.
Agora você pode especificar o prefixo no arquivo .phpstorm.meta.php . Você pode ler mais sobre meta- arquivos e como especificar prefixos de tabela na página de ajuda .
Digamos que temos a seguinte solicitação em um aplicativo Drupal:
Como você pode ver, PhpStorm não pode resolver o nome da tabela ou os nomes das colunas. Isso ocorre porque especificamos o prefixo da tabela na configuração do Drupal.
Para corrigir isso, adicione um arquivo
.phpstorm.meta.php
com o seguinte conteúdo ao projeto :
namespace PHPSTORM_META {
override(
// SQL-
sql_injection_subst(),
map([
'{' => "PS2021_", // `{` SQL
'}' => '', // `}`
]));
}
Agora o PhpStorm será capaz de vincular consultas SQL a fontes de dados e fornecer recursos como preenchimento automático, transição para visualização de dados e muito mais.
A propósito, se a solicitação for formada por meio de concatenação, isso também funcionará:
<?php
const DB_PREFIX = "mydatabase_";
$sql = "SELECT * FROM " . DB_PREFIX . 'table_name';
Inspeções e soluções rápidas
Nesta versão, adicionamos mais de 20 verificações e correções rápidas diferentes para ajudar a evitar erros nos estágios iniciais de desenvolvimento. Você pode ver a lista completa de inspeções e configurá-las em Configurações / Preferências | Editor | Inspeções .
Quando ocorrer um problema, passe o mouse sobre ele, pressione Alt + Enter e selecione a solução rápida sugerida.
E agora mais sobre algumas das novas inspeções.
Simplificando blocos `if` com os mesmos corpos
Alguns blocos
if
e
else
pode ser redundante. Por exemplo, você pode alterá-los, fazendo com que seus corpos sejam total ou parcialmente iguais.
O PhpStorm detectará esses blocos extras e se oferecerá para removê-los:
Além disso, se apenas uma parte do corpo for repetida, o PhpStorm se oferecerá para extraí-los:
Inversão de `if`
Se você pressionar Alt + Enter para qualquer um
if
, será solicitado o comando “Invert` if`” . Ele inverte a condição e faz os ajustes necessários para preservar a lógica.
Se você gosta de usar o retorno antecipado , essa inspeção será muito útil ao refatorar seu código.
Por exemplo :
Em loops, isso também funciona:
Substituindo `isset` por ??
O código
isset($a) ? $a : $b;
é idêntico
$a ?? $b
, então PhpStorm irá destacá-lo e sugerir uma solução rápida para substituição.
, — , .
Code | Run Inspection by Name... , `isset` can be replaced with coalesce. .
`isset` `!== null`
O uso
isset()
só faz sentido para matrizes e variáveis. Em todos os outros casos, é melhor verificar o operando para
null
.
PhpStorm irá destacar esses lugares e permitir que você substitua com Alt + Enter
isset()
com
null
.
A variável em `foreach` substitui a variável já declarada
Variáveis para chave e valor no loop
foreach
podem entrar em conflito com os nomes de outras variáveis ou parâmetros.
O problema é que o PHP não tem um escopo separado para eles. Ou seja, o valor será anulado - provavelmente ao contrário das expectativas.
O PhpStorm destacará esses locais porque são fontes potenciais de bugs.
Chaves desnecessárias para variáveis dentro de strings
PhpStorm destaca chaves redundantes no contexto de interpolação de string, solicitando que você as remova e torne seu código mais limpo.
Simplificando Expressões Booleanas
Se a expressão booleana contiver literais
true
ou
false
, provavelmente ela poderá ser simplificada e tornada mais legível.
O PhpStorm destacará tais expressões e permitirá que você as simplifique usando Alt + Enter.
Comparação estrita com tipos incompatíveis
O operador
===
sempre retornará
false
se os operandos não forem do mesmo tipo.
O PhpStorm agora destaca esses lugares porque eles podem ser fontes de bugs. Ao mesmo tempo, PhpStorm levará em consideração todos os tipos deduzidos e o ajudará a encontrar problemas nos casos não mais óbvios.
Links inseguros http: //
O uso do protocolo
http://
em linhas agora está destacado. O IDE oferece uma solução rápida para substituição rápida
http://
para
https://
(por Alt-Enter). Você também pode usá-lo para adicionar um URL à lista de links ignorados.
Combinações de nomes suspeitos
PhpStorm destaca alguns erros comuns na nomenclatura de parâmetros ou valores de retorno, como
$needle
e
$haystack
ou
$x
e
$y
.
Normalmente, esses erros são um sintoma de um bug ou, pelo menos, são muito confusos.
Substituindo `define` por` const`
PhpStorm detecta casos onde uma declaração constante via
define
pode ser substituída por uma sintaxe mais legível
const
. Com Alt + Enter, você pode fazer uma substituição.
Configurando inspeções de pré-confirmação
Agora você pode selecionar um perfil de inspeção a ser usado para analisar seu código antes de se comprometer com o Git.
Clique no ícone de engrenagem, marque a caixa de seleção Analyze code , clique em Configure e selecione o perfil desejado.
Você pode criar seus próprios perfis em Configurações / Preferências | Editor | Inspeções .
Outro
Escopo artificial para refatoração
Ciclos
foreach
,
for
,
while
e os blocos
catch
em PHP não são isolados escopo. Isso é bastante inconveniente quando você renomeia variáveis, porque também renomeia variáveis fora do bloco desejado.
No PhpStorm 2021.1, adicionamos um escopo artificial para todos esses blocos. Agora, ao chamar a refatoração Renomear (Shift + F6), a renomeação será mais intuitiva.
Melhorando a injeção automática na língua
As versões anteriores do PhpStorm eram capazes de definir o idioma apenas para argumentos. Por exemplo, se você passou uma string para uma função
preg_*
, ela foi destacada como uma expressão regular.
Mas se você usou uma variável, seu valor não foi realçado de forma alguma.
PhpStorm 2021.1 analisa o uso de variáveis e é capaz de implementar automaticamente a sintaxe desejada.
Usando extensões do bloco `Suggest` em composer.json
A base de código pode conter classes de extensões PHP. Até agora, o PhpStorm verificou se essas extensões foram adicionadas às seções
require
do arquivo
composer.json
.
O PhpStorm 2021.1 leva em consideração a especificação de extensões não apenas na seção `require`, mas também na seção` Suggest`.
Mais importante, PhpStorm agora avisa se uma extensão foi adicionado ao
suggest
no
composer.json
, mas é usado sem verificações de tipo
extension_loaded()
ou
function_exists()
.
Uma solução rápida especial permitirá que você adicione uma extensão para
require/require-dev.
Correções importantes
Consertamos mais de 2.400 tickets abertos por nossos usuários e pela equipe JetBrains no rastreador PhpStorm. Alguns dos mais interessantes são:
- WSL 2 Docker (WI-53396).
- Quality tools docker-compose exec- (WI-55840).
- PHP (5000 ) (WI-31569).
- (WI-58306).
Code With Me
Code With Me é a nova ferramenta de desenvolvimento colaborativo e programação em pares da JetBrains. Nós o introduzimos originalmente no PhpStorm 2020.3. A ferramenta foi muito melhorada nesta versão.
Em primeiro lugar, tornou-se possível definir de forma flexível os direitos de acesso para os cúmplices.
Em segundo lugar, agora os convidados nem precisam instalar um IDE - basta executar um comando de console e o cliente gratuito será baixado automaticamente.
Em terceiro lugar, foram adicionadas chamadas de voz e vídeo integradas, bem como um mensageiro.
Enterprise Teams e outras equipes de segurança agora podem executar seu servidor Code With Me em uma rede privada.
Leia mais sobre Code With Me no site da JetBrains .
IDE
Expansão de guias no modo dividido
Você pode abrir várias guias ao mesmo tempo no modo Dividir, simplesmente arrastando a guia para o canto desejado da tela.
Agora você também pode clicar duas vezes em uma guia para expandi-la totalmente. Você também pode retornar a guia ao estado anterior clicando duas vezes.
Suporte JSONPath
Agora você pode usar consultas JSONPath para pesquisar rapidamente grandes documentos JSON. O recurso está disponível na seção Editar | Encontre | Avalie JSONPath .
Suporte para linhas JSON
PhpStorm agora suporta o formato JSON Lines para trabalhar com dados estruturados e logs. O IDE reconhece arquivos .jsonl , .jslines , .ldjson e .ndjson .
Configurações de tipografia
Você pode variar as fontes principais e alternativas. Novas opções estão disponíveis nas Configurações de Tipografia em Configurações / Preferências | Editor | Fontes .
Docker
Conclusão de nomes de imagem no Dockerfile
Comece digitando o nome da imagem e o PhpStorm oferecerá a você uma lista de imagens disponíveis no Docker Hub:
Dobrar em Dockerfiles de vários estágios
Ao usar várias seções em um Dockerfile,
FROM
você pode recolher qualquer uma delas e elas serão separadas por uma linha para melhor legibilidade.
Cancelar execução do Docker
Você pode interromper facilmente a execução de um Dockerfile em execução na janela Serviços . Selecione Parar implantação no menu de contexto para o item iniciado.
Melhorias para solicitações pull do GitHub
Para criar um rekvest de pool, basta clicar no "+" na janela Pull Requests ou ir para Git | GitHub | Criar solicitação de pull .
Na caixa de diálogo atualizada, você pode:
-
- Visualize os arquivos modificados na guia Arquivos.
- Edite nomes e descrições de solicitações pull, atribua revisores e executores, adicione tags.
- Crie solicitações de pull de rascunho.
PhpStorm 2021.1 também oferece suporte a modelos de solicitação pull. Adicione um arquivo
pull_requst_template.md
ao projeto e especifique o texto do modelo nele - e toda vez que você criar uma nova solicitação pull, essa descrição será preenchida automaticamente.
Suporte de modelo para commits Git
O PhpStorm agora respeita o modelo especificado no parâmetro de
commit.template
configuração do Git ao criar uma mensagem de confirmação .
Cliente HTTP
Suporte SSL
Agora você pode especificar as configurações de SSL no cliente HTTP. Clique no botão Adicionar arquivo de ambiente e selecione Privado . Arquivo será criado no qual você pode especificar as configurações de SSL:
clientCertificate
,
hasCertificatePassphrase
,
clientCertificateKey
,
verifyHostCertificate
.
Melhorias para OpenAPI / Swagger
PhpStorm tem suporte para especificações OpenAPI e interface de usuário Swagger embutida.
Agora Swagger UI suporta especificações com arquivos externos conectados via
$ref
.
Ferramentas DB
PhpStorm inclui recursos internos de DataGrip : uma interface de permissões , templates contextuais Live Templates, navegação simplificada e muito mais. Leia mais sobre esses recursos na visão geral da versão DataGrip 2021.1 com nossos colegas.
Rede
E como sempre, PhpStorm inclui todas as atualizações do WebStorm 2021.1 : autocompletar mais inteligente para JavaScript e TypeScript, suporte estendido para Stylelint e muito mais.
E aqui está um vídeo (em inglês), onde demonstramos as principais características deste lançamento:
É tudo por agora. Teremos o maior prazer em receber seus comentários - perguntas, desejos, relatórios de erros e apenas pensamentos. Deixe-os nos comentários abaixo.