standard ruleset phpcs phpcbf mac instalar how globally php jenkins continuous-integration pear codesniffer

ruleset - phpcs install standard



Cómo ignorar la longitud de línea PHP_CodeSniffer (2)

  1. Encuentre el archivo CodeSniffer / Standards / PEAR / ruleset.xml - en mac / linux puede buscar en el terminal:

    locate PEAR/ruleset.xml o sudo find / -name "ruleset.xml"

  2. Entonces necesitas encontrar las siguientes líneas en el conjunto de reglas.xml:

    <!-- Lines can be 85 chars long, but never show errors --> <rule ref="Generic.Files.LineLength"> <properties> <property name="lineLimit" value="85"/> <property name="absoluteLineLimit" value="0"/> </properties> </rule>

  3. Simplemente cambie el número 85 (longitud máxima de la línea) a lo que desee.

Tenga en cuenta que el estándar de codificación predeterminado de phpc es el estándar PEAR. Entonces necesita editar ruleset.xml en esta ubicación: CodeSniffer / Standards / PEAR / ruleset.xml

He estado usando PHP_CodeSniffer con jenkins, mi build.xml se configuró para phpcs como se muestra a continuación

<target name="phpcs"> <exec executable="phpcs"> <arg line="--report=checkstyle --report-file=${basedir}/build/logs/checkstyle.xml --standard=Zend ${source}"/> </exec> </target>

Y me gustaría ignorar la siguiente advertencia.

FOUND 0 ERROR(S) AND 1 WARNING(S) AFFECTING 1 LINE(S) -------------------------------------------------------------------------------- 117 | WARNING | Line exceeds 80 characters; contains 85 characters --------------------------------------------------------------------------------

¿Cómo podría ignorar la advertencia de longitud de línea?


Podrías crear tu propio estándar. El Zend one es bastante simple (está en /usr/share/php/PHP/CodeSniffer/Standards/Zend/ruleset.xml en mi instalación de Debian después de instalarlo con PEAR). Cree otro basado en él, pero ignore el bit de longitud de línea:

<?xml version="1.0"?> <ruleset name="Custom"> <description>Zend, but without linelength check.</description> <rule ref="Zend"> <exclude name="Generic.Files.LineLength"/> </rule> </ruleset>

Y establezca --standard=/path/to/your/ruleset.xml .

Opcionalmente, si solo desea aumentar el recuento de caracteres antes de que se active, vuelva a definir la regla:

<!-- Lines can be N chars long (warnings), errors at M chars --> <rule ref="Generic.Files.LineLength"> <properties> <property name="lineLimit" value="N"/> <property name="absoluteLineLimit" value="M"/> </properties> </rule>