VSCode中满屏Delete ␍报错是因换行符不一致导致Pretterr校验失败,根本原因是Windows默认CRLF而Prettier默认只认LF;解决方案是配置.prettierrc中endOfLine: "auto"并设置git config --global core.autocrlf false。
为什么VSCode里满屏都是Delete `␍`报错
这不是代码写错了,是换行符不一致触发的格式校验失败。Prettier 默认只认
(
),而 Windows 编辑器默认保存为
(
)。那个
就是回车符
,Prettier 认为它是多余字符,所以每行末尾都报
。
常见诱因包括:
刚从 Git 拉下来的项目(Linux/macOS 提交的 LF 文件)在 Windows 上用 VSCode 打开,但没配置换行符自动转换
里没设
,或设成了
Git 的
是
(Windows 默认),导致检出时悄悄加了
VSCode 底部状态栏显示的是
,但 Prettier 配置要求
改 .prettierrc 是最稳的项目级解法
直接让 Prettier 接受当前环境的换行习惯,而不是硬要它删
。编辑项目根目录的
(或
),加上这行:
注意:
不是偷懒,它会让 Prettier 根据文件已有换行符类型自动适配——检出是
就保持
,本地新建文件是
就用
,不再强行统一并报错。
如果必须强制统一为
(比如团队规范或 CI 要求),则写:
但此时务必同步处理 Git 和编辑器配置,否则会反复冲突。
必须同步调整 Git 的 core.autocrlf
只改 Prettier 配置,不调 Git,下次
还会把
带进来。执行这条命令:
VSCode 1.118
微软正式发布 Visual Studio Code 1.118 版本 。本次更新重点强化了 AI 开发体验与企业管理能力,其中最引人注目的是新增 Copilot CLI 远程控制功能,允许开发者通过手机或网页远程监控和接管 AI 会话 。同时,为了提高 AI 的运行性价比,新版本优化了令牌缓存策略以降低成本 。此外,1.118 版还引入了 Chronicle 本地历史追踪、TypeScript 7.0 支持以及更严格的企业级访问管控 。
下载
它告诉 Git:别碰换行符,原样检出。配合
,就能让本地开发和远程仓库达成事实一致。
如果你已拉过代码且满屏报错,建议:
先执行
(重归一化所有文件换行)
再
最后重启 VSCode —— 波浪线通常就消失了
VSCode 设置里别信“Auto”状态栏
右下角状态栏显示
或
,只是当前文件的**物理存储格式**,不代表 Prettier 会按它来。即使你手动点它改成
,只要
没配或 Git 下次拉取又带
,问题照旧。
真正起作用的是三个地方是否对齐:
中的
值
的值(推荐
)
里是否写了
(如有,需和 Prettier 一致)
三者不一致时,VSCode 会反复“纠正”又“被纠正”,波浪线就一直闪。最省事的做法是:删掉
里的
行,只靠
+ Git 配置双保险。
LF\nCRLF\r\n␍\rDelete `␍`.prettierrcendOfLine"crlf"core.autocrlftrue\rCRLFLF\r.prettierrc.prettierrc.js"endOfLine": "auto""auto"LFLFCRLFCRLFLF"endOfLine": "lf"git pullCRLFgit config --global core.autocrlf false"endOfLine": "auto"git add --renormalize .git commit -m "normalize line endings"CRLFLFLF.prettierrcCRLF.prettierrcendOfLinegit config core.autocrlffalse.editorconfigend_of_line = lf.editorconfigend_of_line.prettierrc