必须手动勾选fileTemplates、colors、inspectionProfiles三项,缺一则模板无法正常渲染或生效;导出路径须纯英文,避免中文或空格;仅备份templates.xml不够,需同步colors.scheme.xml并预装依赖插件。

PhpStorm 备份 fileTemplates 的正确路径
只导出 fileTemplates 本身是不够的,它依赖 colors(配色)、inspectionProfiles(检查规则)等上下文才能在新环境里正常渲染和生效。直接用 IDE 内置的 Export Settings 导出时,默认不勾选这三项,结果就是“模板文件存在,但新建 PHP 类时还是空的”。
必须手动勾选:fileTemplates、colors、inspectionProfiles —— 少一个,模板里的注释格式、变量占位符高亮、甚至是否触发自动补全都可能异常。
-
fileTemplates控制新建文件时插入的骨架(如带 @author 的 PHP 类头) -
colors影响模板中 ${NAME} 这类变量的语法高亮颜色,缺失后 IDE 会把它当普通文本渲染 -
inspectionProfiles决定模板生成后是否立刻报“未使用变量”警告,漏掉会导致你每次新建类都要手动关提示
导出时路径含中文或空格会静默失效
即使你全勾选了,如果导出目标路径是 /home/张三/phpstorm-backup/settings.jar 或 /home/user/My Settings.jar,部分模板(尤其是 Blade、Twig、PHP Unit Test 模板)在导入后无法解析 templates.xml 中的占位符逻辑,IDE 不报错,但新建文件时变量名不展开、快捷键不触发。
推荐做法:
立即学习“PHP免费学习笔记(深入)”;
- 用纯英文路径,例如:
/home/username/phpstorm-backup/202610-settings.jar - 避免用
~符号,某些 shell 下未展开会导致导出到根目录或失败 - Linux/macOS 用户不要选
~/Library/Caches/或~/.cache/,那是运行时缓存区,GUI 导出功能根本不从这里读写
手动备份 templates.xml 更轻量且可控
如果你只要保模板,不想连插件、快捷键、主题一起导,可以直接提取配置文件中的模板部分。关闭 PhpStorm 后操作更安全:
- 定位模板文件:
~/.config/JetBrains/PhpStorm2023.3/options/templates.xml(路径随版本变,PhpStorm2023.3替换为你的实际版本号) - 复制该文件单独备份:
cp ~/.config/JetBrains/PhpStorm2023.3/options/templates.xml ~/backup/ - 导入时只需把该文件放回原位置并重启 IDE,无需重启整个设置流程
注意:templates.xml 不包含颜色定义,所以变量高亮仍需配合 colors.scheme.xml(位于同一 options/ 目录下),两者建议一起备份。
恢复后要预装对应插件
如果你的模板依赖某个插件(比如 Laravel Idea 的 @phpunit 模板、or PHP Annotations 的 @Route 快捷生成),仅导入 fileTemplates 不会自动安装插件。IDE 启动时发现模板引用了未加载的扩展点,会跳过渲染,新建文件就退化成空白。
解决办法:
- 导入前,在新机器上先装好同版本插件(插件 ID 要一致,比如
com.laravel_idea) - 或者导出时一并勾选
plugins(但风险高:插件版本冲突可能导致 IDE 卡死,不推荐) - 验证方式:打开
File > New > PHP Class,看顶部是否出现你定义的注释头;再试File > New > Blade Template,确认${NAME}是否被自动替换为文件名
最容易被忽略的是:模板里写的 #if (${NAMESPACE}) 这类 Velocity 表达式,依赖 IDE 的语言服务支持,而服务由插件提供——没插件,表达式就原样输出,不会计算。


















