Instalar PHP CodeSniffer (phpcs) y WordPress Coding Standards en VSCode

Lo que haremos en este artículo será instalar phpcs y los estándares de WordPress para desarrollar themes, plugins o lo que queramos dentro del ecosistema de WordPress.

En mi caso particular lo haré con VSCode y activaremos el PHP_CodeSniffer de manera individual en cada proyecto, ya que si lo hacemos de manera global en todos los proyectos, tendremos problemas y advertencias sobre los estándares de WordPress incluso si estamos desarrollando un proyecto en Laravel u otro framework. Incluso si queremos hacer un archivo plain PHP y tenemos activados los estándares de manera global, tendremos el PHP_CodeSniffer mirándolo todo.

Quizás algunos comandos no se ejecuten correctamente en Windows, estoy usando MacOS.

1- Instalar phpcs en nuestro ordenador

Antes de instalarlo podemos comprobar si ya lo tenemos instalado ejecutando el siguiente comando en nuestro terminal:

$ phpcs --version

Si el comando nos devuelve una respuesta como la siguiente es que lo tenemos instalado y podemos saltar este paso.

PHP_CodeSniffer version 3.5.8 (stable) by Squiz (http://www.squiz.net) 

Si no lo tenemos instalado tenemos dos maneras de hacerlo, global y local. En mi caso lo instalaré de manera global con composer, para tenerlo disponible en todo el sistema. Recuerda que esto no significa que el PHP_CodeSniffer se ejecute en todos los proyectos, simplemente disponemos de la instalación de manera global en nuestro sistema. Si tienes instalado composer de manera global puedes ejecutar el siguiente comando en tu consola:

$ composer global require squizlabs/php_codesniffer

Si no tienes instalado composer, puedes revisar la documentación e instalarlo: https://getcomposer.org/doc/00-intro.md

2- Verifica que puedes ejecutar phpcs

Para poder utilizar los paquetes que instales con composer de manera global, debes agregar al PATH el directorio ~/.composer/vendor/bin

Si no sabes como agregar el directorio a tu PATH, voy a darte un consejo de como hacerlo. Antes que nada verifica el shell que estas utilizando, en mi caso utilizo zsh.

Básicamente lo que debemos hacer es abrir el archivo ~/.zshrc con el comando:

$ open ~/.zshrc

Esto nos abrirá el archivo en un editor de texto. En el caso de que el archivo no exista y estés usando zsh, puedes crearlo con el comando:

$ touch ~/.zshrc

Y luego abrirlo con open ~/.zshrc

Una vez abierto debemos agregar lo siguiente:

#composer packages
export PATH=“$PATH:$HOME/.composer/vendor/bin”

Una vez termines de editar y guardar este archivo, debes ejecutar en la consola el siguiente comando para recargar la configuración o cerrar y volver a abrir la consola.

$ source ~/.zshrc

Ahora tenemos los paquetes globales de composer listos para ejecutar. Puedes probar a continuación ejecutar en la consola el comando:

$ phpcs --version
PHP_CodeSniffer version 3.5.8 (stable) by Squiz (http://www.squiz.net)

Un último consejo aquí, si utilizas bash en vez de zsh el procedimiento es el mismo pero editando el archivo ~/.bashrc

3- Instalar la extensión en VSCode

La que recomiendo utilizar es phpcs de Ioannis Kappas. Al momento de escribir este artículo tiene 914.513 instalaciones. La puedes descargar aquí: https://marketplace.visualstudio.com/items?itemName=ikappas.phpcs

4- Crear el directorio y descargar los estándares de WordPress

Para almacenar los estándares de WordPress crearemos un directorio phpcs-standards en la raíz de nuestro usuario y clonaré el repositorio oficial.

Si quieres el enlace al repo: https://github.com/WordPress/WordPress-Coding-Standards

$ cd ~
$ mkdir phpcs-standards
$ cd phpcs-standards
$ git clone https://github.com/WordPress/WordPress-Coding-Standards

5- Comunicarle a phpcs que utilice los estándares de WordPress que hemos descargado

Podemos revisar la configuración actual de nuestro PHP_CodeSniffer con el comando:

$ phpcs --config-show

Esto nos devolverá si hay alguna ruta de estándares que tengamos configurada actualmente, en el caso de ser una instalacion nueva, no tendremos esa ruta definida.

Haremos la definición con el siguiente comando:

$ phpcs --config-set installed_paths ~/phpcs-standards/WordPress-Coding-Standards
Using config file: /Users/danielpereyra/.composer/vendor/squizlabs/php_codesniffer/CodeSniffer.conf

installed_paths: /Users/danielpereyra/phpcs-standards/WordPress-Coding-Standards

6- Hacer que VSCode utilice los estándares de WordPress de manera local (por proyecto)

Como te comentaba al inicio del artículo, lo instalaré de manera local en cada proyecto, no de manera global ya que trabajamos con otros frameworks como Laravel y no nos interesa que el PHP_CodeSniffer con los estándares de WordPress nos esté molestando en otros proyectos.

Para deshabilitarlo de manera global debemos modificar el archivo settings.json de VSCode. Este archivo lo abrimos presionando los botones CMD + SHIFT + P y buscamos la opción Open Settings (JSON). Este archivo corresponde a las opciones de usuario que se ejecutan de manera global en VSCode, agregaremos esta línea al final:

"phpcs.enable": false,

Luego para activarlo en nuestro proyecto local, crearemos un workspace. Antes que nada abrimos el proyecto, supongamos la carpeta de un plugin.

La manera simple de crear el workspace es ir al menu de Archivo de VSCode y seleccionar Guardar Workspace. Eso nos creará el archivo del workspace y solo debemos agregar dos lineas en settings:

"phpcs.standard": "WordPress",
"phpcs.enable": true,

Esto indicará a VSCode que se utilice phpcs con los estándares de WordPress de manera local en este proyecto.

Conclusión

Hemos instalado phpcs de manera global en nuestro sistema mediante composer, activado los estándares para el desarrollo con WordPress e instalada la extension de phpcs para VSCode. Por último lo hemos desactivado para que no nos moleste en todos los proyectos y lo hemos activado de manera local en nuestro proyecto mediante la creación de un workspace de VSCode.

phpcs en conjunto con los estándares para WordPress te ayudarán a lograr uniformidad en el código que desarrolles y en conjunto con VSCode, chequeará violaciones y estilos del código que escribas, mejorando la calidad de tu código fuente.

Si te he ayudado, comparte ayudando a otros! 🤓


Autor: Daniel Pereyra Costas

🤓 Experto en diseño y desarrollo de páginas web, tiendas online y aplicaciones de gestión. Enamorado de plataformas y comunidades como WordPress, Laravel y VueJS.


7 comentarios sobre “Instalar PHP CodeSniffer (phpcs) y WordPress Coding Standards en VSCode

👋 Deja una respuesta ✍️

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Nombre *