问题标签 [phpcodesniffer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
codesniffer - 如何在嗅探中创建多个 USE 语句
我正在对 PHP_CodeSniffer 3.x 进行嗅探。例如,类声明class NoInlineFullyQualifiedClassNameUnitTestInc extends \PSR2R\Base\AbstractBase
应拆分为 auses
和class AbstractBase
。嗅探检测方法签名的类似问题。
我相信问题在于我use
在同一行(即相同的标记)生成和插入多个语句,但是在单独的fixer->beginChangeset()
...fixer->endChangeset()
序列中这样做。修复程序将同一令牌的多组更改视为冲突,并且事情变得混乱(和错误)。
GitHub问题在这里:https ://github.com/php-fig-rectified/psr2r-sniffer/issues/9
有没有人想出如何为最新的 3.x CodeSniffer 编写自定义嗅探?
php - 自定义编码标准嗅探不起作用 - PHP_CodeSniffer_Exception
我正在为在 WordPress 中嗅探代码创建自定义规则集,为此我正在使用 PHP_CodeSniffer。
可以在此处找到自定义规则集:https ://github.com/infinum/coding-standards-wp 。
现在,当我尝试使用它们时,出现此错误
我不知道如何解决这个问题。我像其他人一样搜索并模拟了规则集,但我不知道为什么会发生这种情况。
编辑:
因此,当我在项目中使用 composer 安装标准并运行时
vendor/bin/phpcs --standard=vendor/infinum/coding-standards-wp wp-content/themes/twentyseventeen/functions.php
它有效,只是由于某种原因它没有拾取我的自定义嗅探。
当我将编码标准放在全局安装wpcs
的文件夹中时,我的 Sublime 控制台中出现上述错误。
编辑2:
好的,所以我已经wpcs
安装在我的主文件夹中。在那里我放置Infinum
了文件夹,里面有我的嗅探器。这仅在我删除时才有效
从ruleset.xml
我的 Sublime 会捡起它,并且嗅探器(现在没有名称空间)可以正常工作,一切都很好。
当我使用 composer 在项目中安装它时,我再次收到上述错误。
全局加载时的区别(以便 Sublime 可以使用)文件夹结构如下所示
当我在我的项目中使用 composer 安装它时,它位于vendor
文件夹内
最终编辑
好的,所以我让它在本地工作。
它拾取自定义嗅探和所有。
但是现在如果我把它放在我的全局 wpcs 文件夹中,我就无法让它工作。好吧,我想我会在全球范围内重做这个,以便它可以与 Sublime 一起使用......
php - 强制空格缩进而不是 PHP_CodeSniffer 中的制表符?
在我的自定义嗅探中,我添加了
它适用于内部的功能和控制结构,但例如
return
会有Tabs must be used to indent lines, spaces are not allowed
错误。
有没有办法检查正确的间距,而不使用制表符,而只使用空格?
php - 无法在 windows 10 系统的 wamp 或 xampp 中安装 PHP CodeSniffer
我正在尝试在本地主机中安装代码嗅探器,但无法安装。
系统:Windows 10
PHP:PHP 5.4+
我尝试了以下方法。
- 使用管理权限打开命令提示符(选择“以管理员身份运行”)
- 转到您的 php 安装目录。例如:\wamp\bin\php\php5.5.12
- 运行此命令“ pear install PHP_CodeSniffer ”或“ pear install --alldeps PHP_CodeSniffer ”
错误:
D:\Projects\wamp\bin\php\php5.5.12>pear install PHP_CodeSniffer No release available for package "pear.php.net/PHP_CodeSniffer" install failed
- 然后运行这个命令“ pear clear-cache ”,这也会给出错误,
错误:
D:\Projects\wamp\bin\php\php5.5.12>pear clear-cache C:\Users\pcs9\AppData\Local\Temp\pear\cache 不存在或不是目录
我必须使用代码嗅探器“phpcs”和“phpcbf”但没有安装 PHP_CodeSniffer 它不起作用。
请帮助解决此错误。
提前致谢!
php - 需要使用什么嗅探来强制执行 camelCase 变量命名约定?
我正在研究一个专有的遗留代码库,一些变量是驼峰式的,而另一些是蛇式的。我想清理并只强制执行骆驼大小写的变量名,但我似乎无法找到一个嗅探。这是我的自定义规则集的内容。
php - 如何在 Windows 服务器上安装 PHP Code Sniffer?
我想开始在 PhpStorm 中使用 PHP Code Sniffer,但我不确定如何为我的环境配置它。
我使用 RDP 连接到 Windows 服务器,PhpStorm 安装在这个盒子上。我的开发服务器是 Centos VM。
我认为我需要在 Windows 服务器上安装 PHP 和 PHP Code Sniffer 是否正确?
更新
我尝试遵循此https://confluence.jetbrains.com/display/PhpStorm/IDE+and+Project+Settings+in+PhpStorm
当我浏览到 phpcs 并单击验证时。我收到一条错误消息,指出它不是有效的 Windows 应用程序。
里面应该有批处理文件吗?链接说:
“Composer 将在您的项目中的以下路径下安装 PHP Code Sniffer:./vendor/bin/phpcs 和 ./vendor/bin/phpcs.bat。”
我从这里手动添加了批处理文件https://github.com/squizlabs/PHP_CodeSniffer/blob/master/bin/phpcs.bat
现在,当我单击“验证”按钮时,我得到:@php_bin@ 不被识别为内部或外部命令
接下来是什么?
我的 Windows 机器上需要 PHP 吗?
phpstorm - 安装 PHP 代码嗅探器时遇到问题
我正在尝试为 PhpStorm 安装 PHP Code Sniffer,但无法使其正常工作。我一直在按照这里的步骤操作:https ://confluence.jetbrains.com/display/PhpStorm/PHP+Code+Sniffer+in+PhpStorm
我添加了 PHP Code Sniffer 作为 Composer 依赖项,它现在出现在项目目录中。然后我转到代码嗅探器设置页面,在其中输入了PHPCS.bat
文件的路径。单击 时Validate
,我收到一条错误消息,提示“无法运行 PHP 代码嗅探器”。
我是否错过了一个步骤,或者某处是否有一个日志,其中包含有关什么不起作用的更多信息?
php - 内部缩进
在我们的 PHP 项目中,我们的内部标准是让 PHP 中的所有代码缩进两个空格。例子:
<?php
class Foo
{
...
我一定对如何配置它感到困惑,因为我总是收到一个错误,即文件在缩进中有“2 个空格,预期为 0”。我该如何适当地配置它?
在我们的 PHP 项目中,我们的内部标准是让 PHP 中的所有代码缩进两个空格。例子:
<?php
class Foo
{
...
我一定对如何配置它感到困惑,因为我总是收到一个错误,即文件在缩进中有“2 个空格,预期为 0”。我该如何适当地配置它?
在我们的 PHP 项目中,我们的内部标准是让 PHP 中的所有代码缩进两个空格。例子:
我一定对如何配置它感到困惑,因为我总是收到一个错误,即文件在缩进中有“2 个空格,预期为 0”。我该如何适当地配置它?
php - 多行函数调用未正确缩进
在我使用的编码标准中,我们使用 2 个空格进行缩进
这通常工作正常,但如果我有,例如这个
add_submenu_page()
我得到函数的参数在哪里
多行函数调用未正确缩进;预计有 8 个空格,但找到了 6 个
所以“正确”看起来像
但这两个空格太多了。我在github上发现了一些问题,但没有找到解决方案。
如何解决这个问题?