Skip to content
| Marketplace
Sign in
Visual Studio Code>Formatters>PHP 代码格式化New to Visual Studio Code? Get it now.
PHP 代码格式化

PHP 代码格式化

ZhangJunQiang

|
1 install
| (0) | Free
轻量级 PHP 代码格式化工具
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

PHP 代码格式化

轻量级 PHP 代码格式化 VS Code 扩展,无 npm 依赖。

功能特性

  • 整文档格式化:打开 PHP 文件后,使用 Shift + Alt + F 或右键菜单格式化整个文档
  • 选区范围格式化:选中部分代码后格式化,自动处理 <?php 标签
  • 自动缩进检测:根据代码现有缩进风格自动推断使用空格或制表符
  • PHP 语法预检查:格式化前自动执行 php -l 语法检查,避免语法错误代码被错误格式化
  • 配置文件支持:自动识别工作区中的 .php.tools.ini 配置文件
  • 状态栏实时反馈:右下角状态栏显示格式化状态(就绪/成功/警告/错误)
  • 输出面板日志:详细的执行日志,方便排查问题
  • 配置热重载:修改设置后无需重启扩展即可生效
  • 文件忽略:支持按文件名模式忽略特定文件

安装要求

  • Visual Studio Code >= 1.80.0
  • PHP >= 5.6(推荐PHP7.0+或PHP8.0+)

确保系统环境变量中已配置 php 命令,或在设置中指定 PHP 可执行文件路径。

使用方法

快捷键格式化

在 PHP 文件中按 Shift + Alt + F(Windows/Linux)或 Shift + Option + F(macOS)即可格式化当前文档。

命令面板

按 Ctrl + Shift + P 打开命令面板,输入:

  • fphp: 格式化当前文件 — 格式化当前打开的 PHP 文件
  • fphp: 打开输出面板 — 查看格式化执行日志

右键菜单

在编辑器中右键选择 "格式化文档" 或 "格式化选定内容"。

配置项

在 VS Code 设置(Ctrl + ,)中搜索 fphp 即可查看所有配置项。

配置项 类型 默认值 说明
fphp.php_bin string php PHP 可执行文件路径
fphp.detect_indent boolean false 自动检测缩进类型和大小(开启后将忽略 indent_with_space)
fphp.psr1 boolean false 启用 PSR1 代码风格
fphp.psr1_naming boolean false 启用 PSR1 风格 — 第 3 和 4.3 节 — 类和方法名大小写规范
fphp.psr2 boolean true 启用 PSR2 代码风格
fphp.wp boolean false 启用 WordPress 代码风格
fphp.indent_with_space integer \| boolean 4 使用空格代替制表符进行缩进。可设为 false(使用制表符)或 2/3/4/5/6/7/8
fphp.enable_auto_align boolean false 启用等号(=)和双箭头(=>)的自动垂直对齐
fphp.visibility_order boolean false 修复类中方法的可见性顺序 — PSR-2 第 4.2 节
fphp.ignore string[] [] 忽略文件名中包含与指定模式匹配的文件(使用 JS 的 .match 方法匹配)
fphp.passes string[] 见下方 调用指定的编译器转换(pass)
fphp.exclude string[] [] 禁用指定的转换(pass)
fphp.smart_linebreak_after_curly boolean false 将多语句块转换为多行块
fphp.yoda boolean false 尤达风格比较(Yoda comparisons)
fphp.cakephp boolean false 应用 CakePHP 编码风格
fphp.custom_arguments string "" 提供自定义参数以覆盖配置生成的默认参数

默认启用的 Passes

fphp.passes 的默认值包含以下转换(可以在配置中对下面任意项进行删除):

  • AlignDoubleArrow — 垂直对齐 =>
  • AlignPHPCode — 对齐 HTML 块中的 PHP 代码
  • SpaceAfterExclamationMark — 感叹号后加空格
  • AlignConstVisibilityEquals — 垂直对齐可见性和 const 块中的 =
  • AutoSemicolon — 自动补全分号
  • ConvertOpenTagWithEcho — 转换 <?= 为 <?php echo
  • AlignEquals — 垂直对齐 =
  • MergeNamespaceWithOpenTag — 合并 namespace 与 open tag
  • RemoveSemicolonAfterCurly — 移除花括号后的分号
  • RestoreComments — 恢复注释格式
  • ShortArray — 数组简写语法 []
  • ExtraCommaInArray — 数组末尾加逗号
  • AlignDoubleSlashComments — 对齐 // 注释
  • IndentTernaryConditions — 三元运算符缩进
  • IndentPipeOperator — 管道运算符缩进
  • AlignSuperEquals — 对齐 =, .=, &= 等

使用 .php.tools.ini 配置文件

扩展会自动在工作区目录中向上查找 .php.tools.ini 文件。如果找到且位于当前工作区范围内,格式化时会自动使用该配置文件。

示例 .php.tools.ini:

passes=AutoSemicolon,ShortArray
exclude=LongArray
indent_with_space=4

状态栏说明

编辑 PHP 文件时,右下角状态栏会显示 fphp 图标:

  • 白色图标 — 就绪状态
  • 绿色勾选 — 格式化成功
  • 黄色警告 — 文件被忽略或存在警告
  • 红色错误 — 格式化失败或 PHP 语法错误

点击状态栏图标可快速打开输出面板查看日志。

常见问题

Q: 格式化失败,提示 "获取 PHP 版本时出错"

A: 请检查系统是否已安装 PHP,且 php 命令可在终端中直接执行。如 PHP 路径非常规,请在设置中修改 fphp.php_bin 为完整路径,例如 "C:/php/php.exe"。

Q: 为什么格式化后代码缩进变了?

A: 默认启用 PSR2 风格(fphp.psr2 为 true),PSR2 要求使用 4 个空格缩进。如需保留原有缩进风格,可将 fphp.detect_indent 设为 true。

Q: 如何禁用某个默认转换?

A: 将该转换名称添加到 fphp.exclude 数组中,例如 ["AutoSemicolon"]。

开源协议

BSD-3-Clause

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft