首页 > 解决方案 > PhpStorm 编码风格:对齐匿名函数

问题描述

我目前正在尝试使用 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 行是 the 所在的行return "";

标签: phpphpstorm

解决方案


不幸的是,没有针对这种情况进行调整的设置。它看起来像一个类似于https://youtrack.jetbrains.com/issue/WI-32914https://youtrack.jetbrains.com/issue/WI-25700https://youtrack.jetbrains.com/issue的错误/WI-35221。随时在例如https://youtrack.jetbrains.com/issue/WI-32914上为您的示例添加评论或提交您自己的错误报告


推荐阅读