Tienes un cupón activo hasta el . Ver tu oferta

Cómo configurar VS Code para desarrollar en PHP

Visual Studio Code es un popular editor de código gratuito. Puede competir fácilmente con PhpStorm, ya que es gratuito y de código abierto.

Características principales

  • Depurador de código.
  • Terminal integrado.
  • Herramientas convenientes para trabajar con Git.
  • Resaltado de sintaxis para muchos lenguajes populares y formatos de archivo.
  • Navegación conveniente.
  • Vista previa integrada de Markdown.
  • Autocompletado inteligente.
  • Administrador de paquetes integrado.

VS Code tiene una gran cantidad de extensiones para desarrolladores. Para instalar un nuevo paquete, accede a la pestaña "Extensions", escribe el nombre del paquete en la barra de búsqueda y haz clic en "Install".

EditorConfig para VS Code

EditorConfig es un archivo de configuración y un conjunto de extensiones para muchos editores de código. Toma las configuraciones del archivo .editorconfig, que generalmente se encuentra en la raíz del proyecto. La extensión configurará automáticamente las sangrías y los saltos de línea de manera uniforme para todos los desarrolladores que lo utilicen. El código PHP se ejecuta principalmente en sistemas *nix, por lo que es necesario utilizar el estándar.

A continuación se muestra un ejemplo de archivo .editorconfig, basado en el que se utiliza en Laravel:

root = true

# Configuraciones globales que se aplicarán a todos los archivos.
[*]
charset = utf-8
# En sistemas Unix, se utiliza lf para los saltos de línea.
# Esto también es un requisito del estándar PSR.
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 4
trim_trailing_whitespace = true

# Se pueden establecer configuraciones individuales para tipos de archivos específicos
# o archivos individuales por nombre.
[*.md]
trim_trailing_whitespace = false

[*.{yml,vue,js,html}]
indent_size = 2

[{package.json,.github/workflows/*.yml}]
indent_style = space
indent_size = 2

[lib/**.js]
indent_style = space
indent_size = 2

PHP Intelephense

El editor ya tiene soporte para la sintaxis y sugerencias de las funciones estándar del lenguaje. Pero sin una extensión especial, el editor no sugerirá las funciones personalizadas de otras partes del proyecto. Por lo tanto, para admitir el autocompletado, el análisis de código y la navegación a la ubicación donde se creó una función/clase/variable (usando el atajo Alt+Click), se utiliza la extensión PHP Intelephense

Para evitar duplicar las sugerencias, es necesario desactivar el soporte de código PHP incorporado en el editor: Extensions -> Buscar @builtin php -> PHP Language Features -> Desactivar

PHP Debug

Durante el desarrollo, puede haber situaciones en las que las funciones de depuración y registro simples no sean suficientes. En ese caso, puede ser útil una herramienta especial: el depurador. Para PHP, existe la extensión xdebug, que permite establecer puntos de interrupción y ver el entorno en el lugar donde se produjo un error, ejecutando el código paso a paso hasta el siguiente punto.

Para utilizar PHP Debug, es necesario instalar XDebug por separado, ya que la extensión del editor no funcionará sin él. Después de instalar la extensión, es necesario agregar una configuración para PHP en la sección Debug del archivo launch.json que se creará en la raíz del proyecto después de seleccionar el lenguaje. La extensión creará el archivo con los parámetros predeterminados.

Para que XDebug se comunique con nuestro depurador, es necesario agregar configuraciones al archivo de configuración de PHP. Para encontrar este archivo, ejecute el comando php --ini en la terminal o ejecute un servidor web con el código phpinfo().

En Linux, PHP carga no solo el archivo principal, sino también los archivos de una carpeta adicional. Por ejemplo, en Ubuntu, la ruta a la carpeta de archivos de configuración de PHP tiene la forma /etc/php/VERSIÓN/cli/conf.d/, donde VERSIÓN es la versión de PHP que usas (por ejemplo, 8.3). El comando php --ini te muestra la ruta exacta en tu equipo. En esta carpeta, crea un archivo con permisos de root. No hace falta dar permisos de escritura a todos los usuarios (chmod 777), basta con los permisos normales de un archivo de configuración:

$ sudo nano /etc/php/8.3/cli/conf.d/99-local.ini

El contenido del archivo para Xdebug 3, que es la versión actual:

xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=127.0.0.1
xdebug.client_port=9003 ; El puerto que especificamos en launch.json
xdebug.idekey=code

Si en otras guías ves los nombres xdebug.remote_enable, xdebug.remote_host o xdebug.remote_port (con el puerto 9000), son parámetros de Xdebug 2 y ya no funcionan en Xdebug 3. En el archivo launch.json, el puerto de la configuración de PHP también debe ser 9003. Puedes consultar la equivalencia de los parámetros en la guía de actualización de Xdebug.

Estas son configuraciones para el desarrollo local, cuando el proyecto se desarrolla y se ejecuta en la misma computadora, por ejemplo, en tu máquina de trabajo.

PHP Sniffer

En los lenguajes de programación, existe el concepto de estilo de codificación. Pero no todos los desarrolladores están al tanto de esto. El programa que se encarga de verificar si el código cumple con los estándares se llama linter. En PHP, se utilizan los estándares llamados PSR. Nos interesan los estándares PSR-1 y PSR-12, que se refieren a la codificación y las reglas de formato. Ten en cuenta que PHP-FIG publicó después PER Coding Style, que extiende y reemplaza a PSR-12; en esta guía usamos PSR-12 porque PHPCS lo incluye con el nombre PSR12.

En PHP, se utiliza PHP_CodeSniffercomo linter. Para que funcione, es necesario instalar el linter globalmente con composer global require "squizlabs/php_codesniffer=*" y la extensión PHP Sniffer.

Verifica que el linter se haya instalado correctamente (el número de versión que veas dependerá de la versión instalada):

$ phpcs --version
PHP_CodeSniffer version 3.x.x (stable) by Squiz and PHPCSStandards

Puedes ejecutar la verificación del código en la terminal utilizando el comando phpcs, especificando explícitamente el estándar que desea utilizar y la ruta a verificar:

$ phpcs --standard=PSR12 <dirname>

Además de PHP_CodeSniffer, hoy se usan otras herramientas de calidad de código para PHP, como Laravel Pint, PHP CS Fixer (formateadores) y PHPStan (análisis estático).

Semicolon Insertion Shortcut

PHP requiere que las instrucciones se separen con punto y coma. La extensión Semicolon Insertion Shortcut agrega el símbolo necesario al final de la línea con un atajo. Si al presionar [Ctrl] + ; el símbolo no se inserta, verifica la lista de atajos de teclado y, si es necesario, asigna manualmente la combinación: File -> Preferences -> Keyboard Shortcuts

Asistentes de IA en VS Code

VS Code admite asistentes de IA que sugieren código mientras escribes y responden preguntas en un chat, por ejemplo GitHub Copilot u otras extensiones similares. Pueden ahorrarte trabajo en tareas repetitivas, pero no sustituyen entender el código. Lee y prueba cada sugerencia antes de aceptarla, porque puede contener errores o usar funciones que ya no existen. Las condiciones y los planes de cada herramienta cambian con frecuencia, así que consulta la documentación oficial antes de elegir una.

Extra

Aquí hay una lista de extensiones que se pueden utilizar no solo para PHP:

  • GitLens — VS Code ya tiene soporte para Git. Pero cuando las funciones básicas no son suficientes, Gitlens puede ser de ayuda. Por ejemplo, una de las características útiles es git blame en la línea actual.

  • Indent Rainbow — colorea las sangrías en el código. Resalta las sangrías incorrectas. Puedes cambiar el arco iris por tonos de gris.

  • Sincronización de ajustes — VS Code ya incluye una función integrada para sincronizar la configuración, las extensiones y los atajos entre diferentes computadoras. Se activa desde el menú de administración (el engranaje) con la opción "Backup and Sync Settings..." e inicias sesión con una cuenta de Microsoft o de GitHub. No es necesario instalar un complemento aparte (la extensión "Settings Sync" de Shan Khan, que usaba GitHub Gists, es independiente de esta función integrada).
  • Fira Code — una fuente monoespaciada que utiliza ligaduras (combina varios caracteres en uno) para combinaciones de caracteres comunes en programación. Una mejora visual para una lectura de código más cómoda.

Para seguir aprendiendo

Leer otros artículos de Guías

Lea otros artículos relevantes del mundo de la tecnología y el espíritu empresarial.

Herramientas y entorno

¿Qué es Git y para qué se utiliza?

En esta guía se hablará sobre los conceptos básicos de Git. Aprenderás para qué se utiliza el control de versiones y cómo funcionan los sistemas de control de versiones. Esta información te permitirá dominar el trabajo práctico con Git.

Actualizado el

Herramientas y entorno

Varias versiones de Python en una máquina Linux

Aprende a instalar varias versiones de Python en Linux con uv, pyenv o apt, y a usar venv y pipx para que cada proyecto use la versión correcta.

Actualizado el

Herramientas y entorno

¿Qué es un Makefile y cómo empezar a usarlo?

Esta guía te mostrará cómo el uso de la herramienta Makefile puede simplificar el proceso de configuración de un proyecto a unas pocas y comprensibles comandos.

Actualizado el

Todas las guías