【发布时间】:2019-01-14 21:05:49
【问题描述】:
我目前正在尝试使用 PEAR 编码标准,但无法让匿名函数在函数调用中正确对齐。这是一个例子:
标准推荐的内容:
test(
function () {
return "";
}
);
这是默认的。
但是,只要我有多个参数,PhpStorm 就会取消缩进函数内容和右大括号:
test(
"test", function () {
return "";
}
);
但标准推荐的内容如下:
test(
"test", function () {
return "";
}
);
注意: 当启用“函数声明参数”>“多行对齐”时,如果我将每个参数放在自己的行上,我就有正确的对齐方式:
test(
"test",
function () {
return "";
}
);
如果不必将每个参数放在自己的行上,我无法找到一种方法来实现这一点,如果可能/如何做到这一点,有人会吗?
注意 2:我使用已经在 PhpStorm 中开箱即用的“预定义样式”加载 PEAR 编码样式,并且只进行了少量调整。
注意 3:我正在使用 PHPCS 来检查我的代码。以下是我使用 PhpStorm 格式的代码时遇到的错误:
4 |错误 | [x] 行缩进不正确;预计至少 8 个空格,找到 4 个(PEAR.WhiteSpace.ScopeIndent.Incorrect)
5 |错误 | [x] 行缩进不正确;预期 4 个空格,发现 0 (PEAR.WhiteSpace.ScopeIndent.IncorrectExact)
5 |错误 | [x] 多行函数调用没有正确缩进;预期 4 个空格,但找到 0 个 | | (PEAR.Functions.FunctionCallSignature.Indent)
5 |错误 | [x] 右大括号缩进不正确;预期 4 个空格,找到 0 个 (PEAR.WhiteSpace.ScopeClosingBrace.Indent)
第 4 行是 return ""; 所在的行。
【问题讨论】:
-
你能链接你所指的编码标准吗?我查看了pear.php.net/manual/en/standards.php,找不到关于匿名函数的部分。
-
说实话,我还没有仔细阅读标准。我正在使用 PHPCS 检查我是否遵循 PEAR 标准。 (因此这篇文章更多的是关于能够缩进关于
function关键字开头的匿名函数。)我更新了这篇文章以包含我从 PHPCS 得到的错误。