如何在WebStorm中修正代码格式并删除^M符号?
问题分析
M是ASCII回车符(CR),GitHub默认用换行符(LF)解析换行。当文件仅以CR作为换行标记时,GitHub就会显示M,还会把所有内容挤成单行。你这个问题只出现在单个仓库,说明是该仓库的Git换行符配置或者WebStorm针对此仓库的换行设置有问题,导致新创建/复制的文件换行符不兼容GitHub的解析规则。
解决步骤
1. 批量修复现有文件的换行符
- 打开有问题的文件,WebStorm右下角状态栏会显示当前换行符(比如
CR),点击它选择LF,保存即可完成转换 - 批量处理:用WebStorm的「查找替换」(Ctrl+R),勾选「正则表达式」,查找框输入
\r,替换框输入\n,选择替换范围为整个项目或目标文件组
2. 配置当前仓库的Git换行规则
在仓库根目录打开终端,执行以下命令:
- 让Git提交时自动把CRLF转LF,检出时转回CRLF(适配Windows环境):
git config core.autocrlf true - 防止Git意外转换已有LF文件:
git config core.safecrlf true - 创建
.gitattributes文件并写入以下内容,强制Git按规则处理换行符:
提交这个文件到仓库,以后所有文件都会遵循统一的换行规则* text=auto
3. 修正WebStorm的换行符默认设置
- 打开WebStorm设置(Ctrl+Alt+S),进入「Editor → Code Style → General」
- 在「Line separator」下拉选「System-dependent」(Windows下对应CRLF),如果项目需要统一LF也可以直接选
LF - 针对单个仓库单独设置:右键仓库根目录,选择「File Properties → Line Separators」,为该仓库指定换行符类型
4. 验证新文件
创建新文件后,检查右下角状态栏的换行符是否符合设置,提交到GitHub后查看预览是否正常
内容的提问来源于stack exchange,提问作者obaram
相关产品推荐
相关产品推荐

