Php 在重新格式化代码时,避免匿名函数的换行

Php 在重新格式化代码时,避免匿名函数的换行,php,phpstorm,code-formatting,Php,Phpstorm,Code Formatting,我在IntelliJ 2017.3中使用PHP(与PhpStorm中的问题相同)。我在代码样式中找不到解决这个问题的选项 当重新格式化时,它会在匿名函数的两侧换行 $collection ->map( function ($val) { return $val; } ) ->each( function ($val) { return 'nope';

我在IntelliJ 2017.3中使用PHP(与PhpStorm中的问题相同)。我在代码样式中找不到解决这个问题的选项

当重新格式化时,它会在匿名函数的两侧换行

$collection
    ->map(
        function ($val) {
            return $val;
        }
    )
    ->each(
        function ($val) {
            return 'nope';
        }
    );
但我希望函数声明和右大括号保持内联

$collection
    ->map(function ($val) {
        return $val;
    })
    ->each(function ($val) {
        return 'nope';
    });
有什么我不知道的吗?:)

转到:

设置>编辑器>代码样式>PHP>包装和大括号> 函数/构造函数调用参数>在“(”之后换行


如果选中,则取消选中应该更好。

我的默认行为似乎符合您的要求,我确实必须在
->
之前手动插入一个换行符。我已在设置>代码样式>PHP>从菜单设置中从PSR-2设置了我的换行符
->
之前的换行符不是问题,而是
函数之前的换行符。/我没有介意按照我的要求格式化代码,我只是希望它不要再弄乱它;)太棒了!不知什么原因,我的示例窗格不想演示该规则。我不确定,它只是一直在包装,不管编辑用什么O.Othank。我刚检查过,它确实有效(在PHPStorm 2020.2中)。@Tabbernaut是的,这是一个打字错误,正要发布一个屏幕截图,但很高兴你找到了它。