PhpStorm代码生成无法插入正确换行,配置失效求助
PhpStorm代码生成配置失效,构造函数格式异常
PhpStorm突然不再遵循Settings > Code Style > Code Generation的配置,生成的构造函数格式混乱,缺失正确换行。
期望生成的构造函数格式
/** @var string $keyFileLocation */ protected string $keyFileLocation; /** * CalendarClientService constructor. * @param Config $config * @param Container $sessionContainer * @param ServiceAccountCredentials $serviceAccountCredentials */ public function __construct( Config $config, Container $sessionContainer, ServiceAccountCredentials $serviceAccountCredentials ) { $this->config = $config; $this->sessionContainer = $sessionContainer; $this->serviceAccountCredentials = $serviceAccountCredentials; }
实际生成的混乱格式
/** @var string $keyFileLocation */ protected string $keyFileLocation;/** * CalendarClientService constructor. * @param Config $config * @param Container $sessionContainer * @param ServiceAccountCredentials $serviceAccountCredentials */public function __construct(Config $config,Container $sessionContainer,ServiceAccountCredentials $serviceAccountCredentials) {$this->config=$config; $this->sessionContainer=$sessionContainer; $this->serviceAccountCredentials=$serviceAccountCredentials;}
已尝试的操作
- 切换
File >> File Properties >> Line Separator的\n和\r\n选项 - 将
Settings >> Editor >> Code Style >> Line Separator设为\n - 已配置
Settings >> Editor >> CodeStyle使用PSR12规范,Ctrl + Alt + L可修复其他格式问题,但无法解决此换行问题 - 推测核心原因是换行符异常
当前PHP构造函数模板代码
#if (${PARAM_DOC} != "" || ${THROWS_DOC} != "" || ${CLASS_NAME} != "") /** ${CLASS_NAME} constructor. ${PARAM_DOC} ${THROWS_DOC} */ #end public function __construct(${PARAM_LIST}) {${BODY}}
解决方法
- 重置代码风格配置:进入
Settings > Editor > Code Style > PHP,点击右上角齿轮图标,选择Restore Defaults,再通过Set from... > PSR12重新应用规范 - 修复模板换行:打开
Settings > Editor > File and Code Templates,选中PHP Constructor模板,手动重新输入所有换行,确保模板内的换行符正常 - 清除缓存重启:点击
File > Invalidate Caches...,选择Invalidate and Restart,这是解决PhpStorm突发配置异常的常规手段 - 排查插件冲突:进入
Settings > Plugins,禁用近期新增的插件后重启测试 - 检查项目级配置:查看项目根目录下的
.idea/codeStyles文件夹,若存在自定义配置,可暂时重命名该文件夹后测试
内容的提问来源于stack exchange,提问作者GoharSahi
相关产品推荐
相关产品推荐

