PhpStorm能否实现连续函数调用的参数对齐?
在PhpStorm中实现连续函数调用的参数对齐方法
你要的这种同列参数对齐,PhpStorm是支持的,之前没找到是因为选项不在「函数/构造函数调用参数」的常规设置里,具体操作步骤如下:
- 打开PhpStorm的设置面板:Windows/Linux按
File → Settings,Mac按PhpStorm → Settings - 依次展开
Editor → Code Style → PHP - 切换到「Other」标签页
- 找到「Align consecutive」区域,勾选「Function call arguments」选项
- 点击「Apply」和「OK」保存设置
完成后,选中需要格式化的代码,按Ctrl+Alt+L(Windows/Linux)或Cmd+Opt+L(Mac)执行格式化,就能得到你想要的效果:
原代码:
$foo->foobar($arg1, $arg2, $arg3); $foo->foobar($argument1, $argument2, $argument3); $foo->foobar($string1, $int1, $bool1);
格式化后:
$foo->foobar($arg1, $arg2, $arg3); $foo->foobar($argument1, $argument2, $argument3); $foo->foobar($string1, $int1, $bool1);
这个设置在PDO的bindValue场景下特别实用,比如:
原代码:
$pdo->bindValue(':name', $name, PDO::PARAM_STR); $pdo->bindValue(':age', $age, PDO::PARAM_INT); $pdo->bindValue(':active', $active, PDO::PARAM_BOOL);
格式化后会自动对齐所有参数列:
$pdo->bindValue(':name', $name, PDO::PARAM_STR); $pdo->bindValue(':age', $age, PDO::PARAM_INT); $pdo->bindValue(':active', $active, PDO::PARAM_BOOL);
注意:如果之前开启了函数参数强制换行的设置,可能会影响单行调用的对齐效果,确保「Function call arguments」里的换行选项是你需要的即可。
内容的提问来源于stack exchange,提问作者JAMMac
相关产品推荐
相关产品推荐

