Categorías
Plugins de Wordpress WooCommerce Wordpress

Cómo habilitar Xdebug con Visual Studio Code y WAMP

Sí. Yo se. Pero no vamos a discutir si WAMP es malo o bueno o si hay mejores. Es lo que hay. Supérenlo.

Dicho eso, entonces aquí va otro post mediocre, a medio camino entre compilación de links y datos incompletos. Qué le vamos a hacer? Esto toca hacerlo cada mucho y la verdad es que a mi la memoria no me da pa’ tanto. Ahí les va:

El instructivo completo pueden encontrarlo en https://deliciousbrains.com/vs-code-wordpress/

Allí recomiendan instalar este plugin de vscode: https://marketplace.visualstudio.com/items?itemName=felixfbecker.php-debug

Y otros tantos pasos. Pero como lo que hice ahí no me funcionó, entonces seguí más bien las instrucciones del plugin, con lo que terminé con una configuración como esta al final de mi php.ini.

; XDEBUG Extension
[xdebug]
zend_extension="c:\wamp64\bin\php\php7.4.9\ext\php_xdebug-3.0.3-7.4-vc15-x86_64.dll"
xdebug.remote_enable = on
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = Off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir ="c:/wamp64/tmp"
xdebug.show_local_vars=0
xdebug.mode = debug
xdebug.start_with_request = yes
xdebug.client_port = 9900

Spoiler: El archivo que es estaba en C:\wamp64\bin\apache\apache2.4.46\bin\php.ini, pero eso se los dice la herramienta de Xcode para verificar la instalación de php.

Finalmente, tuve que poner esto en mi launch.json para que todo funcionara:

{
  // Use IntelliSense to learn about possible attributes.
  // Hover to view descriptions of existing attributes.
  // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Listen for XDebug",
      "type": "php",
      "request": "launch",
      "port": 9900
    },
    {
      "name": "Launch currently open script",
      "type": "php",
      "request": "launch",
      "program": "${file}",
      "cwd": "${fileDirname}",
      "port": 9900
    },
    {
      "name": "Listen for JS",
      "type": "chrome",
      "request": "launch",
      "url": "http://dev.woo",
      "webRoot": "${workspaceFolder}",
  }
  ]
}

Fué solo cuestión de abrir un navegador y poner un punto de interrupción por ahí para ver que todo funciona.

Más abajito en el artículo explican como depurar también Javascript.

Ahí les queda!

Deja una respuesta