Como ser mais produtivo no PHP com debug integrado do VS Code – dica rápida – Não continue sem ler!

Eu não sou de ficar colocando clickbait nos meus títulos, quem me conhece sabe disso, mas essa dica rápida é MUITO importante e me ajuda muito.

Quando trabalhamos com PHP (ou qualquer outra linguagem) é bem comum perdermos tempo tentando resolver erros e/ou encontrar o arquivo e linha que uma Exception aponta.

O pior (mas nem tanto) é quando você joga o famoso mix de var_dump + exit para saber o valor de uma variável e precisa repetir novamente para outra e outra até achar o que quer.

Estes dias acabaram.

O que é possível com debug integrado na IDE/Editor de texto?

Existe uma feature, bastante antiga na verdade, que permite integrar em uma IDE/Editor de texto o Xdebug, com isso podemos:

  • Pausar temporariamente a execução de um comando/script PHP em determinada linha de um arquivo e obter todos os valores de variáveis que estão em execução naquele momento
  • Seguir com a execução pausada anteriormente
  • Quando um erro acontece, o VS Code (ou editor de texto/IDE) vai direto para este arquivo e na linha do erro com todas as informações de valores de variáveis disponíveis
  • Quando um erro acontece podemos navegar facilmente por toda a stack de erros (arquivos relacionados ao erro, em uma explicação MUITO simplificada), obtendo informações e sem ficar “caçando” arquivos.

Pré-requisito

Antes de mais nada, você vai precisar ter o Visual Studio Code (ou VS Code, para os íntimos) e uma cópia do PHP com XDebug instalado.

Neste artigo eu mostro como instalar o XDebug.

Não esqueça de habilitar o debug remoto e iniciar ele automaticamente com as linhas a baixo no php.ini.

xdebug.remote_enable = 1
xdebug.remote_autostart = 1

Configurando o Visual Studio Code (VS Code)

Para configurar o VS Code, tudo o que você precisa fazer é instalar a extensão PHP Debug

É bem simples, é só ir no ícone de instalação de extensões, pesquisar pelo nome da extensão e pronto.

Botão para o instalador de extensões e minhas extensões relacionadas a PHP

No print acima tem a lista de extensões que eu uso para PHP.

Pronto, tudo configurado!

Debugando PHP no Visual Studio Code (VS Code)

Sempre que você iniciar um projeto vai precisar configurar-lo, é bem simples.

  1. Clique no ícone de debug (primeiro em cima do de extensões)
  2. Clique no texto azul onde diz “create a launch.json file”
  3. Escolha PHP na lista.
Configurando debug no projeto

Após isso é só dar F5 ou clicar no botão verde de start que fica no topo da coluna onde antes tinha o texto azul “create a launch.json file”.

Entendendo o debug

Parece complicado aquele monte de informações quando da um erro, mas vou mostrar como é simples.

Veja a tela abaixo.

Erro PHP no VS Code

Quando um erro acontecer esta tela será mostrada, existem 3 principais informações que são importantes.

  1. Aqui ficam listadas as variáveis, super variáveis ($_SERVER, $_POST…), constantes e tudo o que você definiu e seus valores quando o erro aconteceu.
  2. Aqui fica a lista de “arquivos envolvidos” no erro, se você clicar nos ítens (no meu só tem 1) veremos as informações que citei no item 1, mas referente aquele arquivo e linha.
  3. Aqui mostra o erro comum que estamos acostumados.

Você só precisa se acostumar

Para continuar, basta usar os novos ícones de ação que o debugger oferece, o primeiro continua a execução e o última para completamente o script (como um die ou exit).

Ferramentas do debugger.

Adicionando breakpoints

Breakpoints são pontos de “pausa” que o script da quando estamos debugando, quando isso acontece podemos obter as mesmas informações que mostrei no tópico anterior.

Eles são definidos pelo próprio desenvolvedor, clicando ao lado do número, uma bolinha ficará marcada.

Quando o script chegar ali, o PHP vai parar e esperar para que você informe para continuar (usando a toolbar de debug).

Pausa no breackpoint da linha 5

Muito útil.

Conclusão

É bem simples e é como eu debugo meu código, mas tem uma contra indicação, o XDebug costuma deixar o PHP lento em alguns casos, então faça testes, aqui roda legal, embora vez ou outra eu desative (o XDebug).

Dica final

Se você usa Git, não esqueça de adicionar o diretório .vscode no .gitignore, é uma boa prática, já que pode não ser útil para todos (quem usa PHPStorm, por exemplo).

Autor: Erik Figueiredo

Músico, gamer amador, tutor de programação, desenvolvedor freelancer full cycle, com foco em PHP (Laravel e CakePHP), Javascript (Front e Node.js), Dart (Front e Flutter) e infra.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *