我问了一个问题here因为我的所有Php代码都缩进了2而不是4。
Php CodeSniffer,这是一个非常棒的工具,缩进为“4”,似乎你无法改变这个值。
Php CodeSniffer有很多选择。所以这应该很容易添加“缩进宽度”。但似乎创作者已经自愿避免了这种可能性,因为它不可能(这是奇怪的恕我直言)。
所以如果你不能改变这个,我想知道:“缩进宽度= 4”是事实上的标准吗?
Java / JavaDoc生成是否相同?
我是否必须将所有10.000多行代码更改为4 - 压缩宽度?
答案 0 :(得分:8)
使用ruleset.xml文件可以覆盖嗅探中的任何公共成员var。 ruleset.xml文件是您自己的自定义编码标准的XML表示。它可以从任何包含的标准中导入嗅探,如果您选择编写它们,也可以包含您自己的自定义嗅探。
在您的情况下,您需要精确的PEAR标准,但缩进值已更改。因此,创建一个文件mystandard.xml
并将其作为内容:
<?xml version="1.0"?>
<ruleset name="MyStandard">
<description>My custom PEAR coding standard.</description>
<rule ref="PEAR"/>
<rule ref="PEAR.WhiteSpace.ScopeIndent">
<properties>
<property name="indent" value="2"/>
</properties>
</rule>
</ruleset>
现在,您不是使用phpcs --standard=PEAR ...
命令运行PHP_CodeSniffer,而是使用phpcs --standard=/path/to/mystandard.xml ...
请注意,您可以调用所需的标准,并将XML元数据(名称和描述)更改为更合适的内容。
您可以使用自定义ruleset.xml文件执行更多操作。您可以在此处找到有关自定义规则集的详细信息:http://pear.php.net/manual/en/package.php.php-codesniffer.annotated-ruleset.php
答案 1 :(得分:2)
我在PHP_CodeSniffer\CodeSniffer\Standards\Generic\Sniffs\WhiteSpace\ScopeIndentSniff.php
中找到的是public $indent = 4;
。
您可能只想更改此值。
答案 2 :(得分:2)
不,这不是事实上的标准。压痕没有标准。
您可以使用--sniffs选择规则 - 请参阅manual。您不需要进行缩进测试。
如果PHP CodeSniffer有任何好处,可以在编码标准中定义缩进样式。但是在文档中没有提到它。
或者,您可以按照此处所述编写自己的规则:http://pear.php.net/manual/en/package.php.php-codesniffer.coding-standard-tutorial.php
答案 3 :(得分:0)
PHP CodeSniffer有规则,据我所知你应该能够创建一个定义缩进的规则。 4只是一些值,如2.所以应该工作。可能不是选项,而是在您定义标准时。