You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode:方法链式调用结束后缩进异常如何解决?

解决VSCode中Laravel链式调用后错误缩进问题

问题现象

在完成方法链式调用的代码块后,VSCode会自动沿用链式调用的缩进格式,导致后续代码出现不必要的缩进,只有执行保存格式化操作才会修正。

错误示例:

$orders = Order::paid()
    ->notShipped()
    ->get();

    dd($orders); // <-- 这行不应和链式调用保持相同缩进

正确格式:

$orders = Order::paid()
    ->notShipped()
    ->get();

dd($orders); // <-- 这样更规范 :)

目前虽可通过保存时运行Laravel Pint修正该问题,但希望VSCode在输入代码时就避免产生错误缩进。

解决方案

1. 调整VSCode原生PHP缩进配置

打开VSCode设置(快捷键Ctrl+,/Cmd+,),搜索php indent,调整以下选项:

  • 将PHP: Indent Style设置为psr12(Laravel官方推荐的代码规范)
  • 确保PHP: Indent Width设置为4(或匹配你的项目规范)
  • 关闭PHP: Keep Indentation On Empty Lines选项

2. 配置PHP Intelephense插件(若使用)

如果用PHP Intelephense作为代码提示工具,在插件设置中:

  • 开启Format: Enable选项,让插件遵循PSR-12规范实时处理缩进
  • 确认Format: Rules中包含indentation相关规则并配置正确

3. 指定默认格式化工具

若内置格式化与Laravel Pint冲突,可在设置中添加如下配置,将默认格式化工具指定为Laravel Pint插件,确保实时输入缩进和保存格式化逻辑一致:

"[php]": {
    "editor.defaultFormatter": "open-southeners.laravel-pint"
}

内容的提问来源于stack exchange,提问作者Sebastian Stoll

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 13:34:58