External Tools 设置易丢失且难找回,因其存储在 .idea/misc.xml 中,不被 Local History 记录、Git 默认忽略,重装后会被覆盖;恢复需手动从备份提取 块并粘贴到当前 misc.xml 中,重建时须注意 Program 绝对路径、Arguments 变量大小写及空格分隔、Working directory 设为 $ProjectFileDir$ 等关键点。

外部工具调用设置(即 Tools → External Tools 里配置的命令)一旦误删或重装后丢失,不能靠“撤销”或重启恢复——它不进 Local History,也不走 Settings Sync 默认同步项,必须手动重建或从备份还原。
为什么 External Tools 设置容易丢且难找回
这些配置实际存储在 .idea/misc.xml 文件中(不是单独的 XML),但 PhpStorm 不会为它生成 Local History 快照;Git 也默认忽略 .idea/ 目录,所以即使项目有仓库,misc.xml 通常不在版本控制里。重装或重置 Settings 后,这个文件直接被新 IDE 覆盖,旧配置彻底消失。
从 .idea/misc.xml 备份中手动恢复
如果你有项目级备份(比如定期压缩整个项目目录,或 Git 意外提交过 .idea/),这是最快捷的恢复方式:
- 关闭 PhpStorm
- 找到旧备份中的
.idea/misc.xml - 用文本编辑器打开,搜索
<toolset name="External Tools"></toolset>,复制整段<toolset>…</toolset>内容 - 粘贴到当前项目的
.idea/misc.xml对应位置(注意不要破坏原有 XML 结构,建议在<project></project>根节点内找合适位置插入) - 重启 PhpStorm,进入
Settings → Tools → External Tools确认是否出现
重建时避开常见参数陷阱
手动重建比想象中容易出错,尤其以下几处参数稍有偏差就会导致右键调用失败或路径报错:
立即学习“PHP免费学习笔记(深入)”;
-
Program:必须是可执行文件的**绝对路径**,比如/usr/local/bin/phpcs(macOS/Linux)或C:\php\php_codesniffer\phpcs.bat(Windows)。别写成phpcs—— IDE 不走系统 PATH 查找 -
Arguments:常用变量如$FileName$、$FileDir$是大小写敏感的,且不能加引号包裹(IDE 会自动处理空格);若要传多个参数,直接空格分隔,例如--standard=PSR12 $FilePath$ -
Working directory:多数场景应设为$ProjectFileDir$;若工具依赖项目根目录下的composer.json或vendor/,设成$ProjectFileDir$才能正确解析相对路径 - 勾选
Synchronize files after execution:否则修改后文件内容可能不刷新,看起来像没生效
长期防丢建议:导出 External Tools 配置片段
PhpStorm 没提供单独导出 External Tools 的 GUI 功能,但你可以把 .idea/misc.xml 中的 <toolset name="External Tools"></toolset> 块单独保存为 external-tools-backup.xml,放在项目外安全位置。下次重装或换机器时,只需复制粘贴这段 XML,不用重新填一遍所有字段。注意:misc.xml 是项目级配置,不同项目可以有不同 External Tools 设置,所以备份要按项目区分。


















