PhpStorm代码样式:如何修正函数括号对齐问题?
PhpStorm PHP代码格式化:箭头函数括号对齐问题修复
使用PhpStorm格式化PHP代码时,箭头函数(fn)的括号及内部代码缩进不符合预期:
- 期望样式:箭头
=>后换行,内部代码缩进对齐到箭头位置,闭包的闭合括号与外层方法对齐 - 格式化后样式:闭包的闭合括号缩进错误,整体层级混乱
代码示例
$response->assertOk() ->assertJson(fn(AssertableJson $json) => $json->has('data', fn($json) => $json->whereType('id', 'integer') ->whereType('created_at', 'string') ->whereType('updated_at', 'string') ->whereType('snils', 'string') ->has('passport', fn($json) => $json->whereType('id', 'integer') ->whereType('created_at', 'string') ->whereType('updated_at', 'string') ->whereType('series', 'string|null') ->whereType('number', 'string|null') ->whereType('lastName', 'string|null') ->whereType('firstName', 'string|null') ->whereType('middleName', 'string|null') ->whereType('gender', 'string|null') ->whereType('birthDate', 'string|null') ->whereType('request_data', 'array|null') ) ->whereType('request_data', 'array|null') ->etc() ) );
修复步骤
- 打开PhpStorm设置:Windows/Linux按
File > Settings,Mac按PhpStorm > Settings - 进入
Editor > Code Style > PHP,切换到Wrapping and Braces标签页 - 找到Closures分组:
- 勾选
Align when multiline选项,确保多行闭包的代码对齐 - 在
Arrow function declaration下拉选项中选择Wrap after '=>',强制箭头后换行 - 检查
Closure parameters设置,确保参数多行时缩进正确
- 勾选
- 切换到Chained method calls分组:
- 勾选
Align when multiline,确保链式调用的方法对齐到前一个方法的位置
- 勾选
- 点击
Apply保存设置,用快捷键Ctrl+Alt+L(Windows/Linux)或Cmd+Opt+L(Mac)重新格式化代码
内容的提问来源于stack exchange,提问作者zadrog
相关产品推荐
相关产品推荐

