VSCode里那个烦人的Delete ␍ prettier报错,我是这样一键解决的
VSCode里那个烦人的Delete ␍ prettier报错我是这样一键解决的每次在VSCode里保存文件时右下角突然蹦出那个Delete ␍ prettier/prettier的红色报错你是不是也和我一样感到烦躁作为一个长期在Windows和Mac之间切换开发的前端工程师这个问题困扰了我整整三个月。直到有一天我在项目deadline前夜被这个报错逼疯才终于找到了彻底根治的方法。1. 为什么会出现这个烦人的报错这个问题的本质是操作系统之间的换行符战争。Windows系统默认使用\r\nCRLF作为换行符而Unix/Linux包括MacOS则使用\nLF。当你在Windows上开发但项目配置或团队规范要求使用LF时Prettier就会毫不留情地抛出这个错误。典型场景举例你从GitHub克隆了一个开源项目通常配置为LF团队中有人用Mac开发提交了LF格式的文件你在Windows上修改这些文件时VSCode自动转换为CRLF# 用这个命令可以查看文件的实际换行符类型 file yourfile.js2. 三秒快速解决方案临时救急当你在会议上演示代码或者急着提交修改时可以用这两个方法立即消除报错2.1 状态栏一键切换找到VSCode右下角显示CRLF或LF的按钮点击它选择LF保存文件注意这只会改变当前文件的换行符新文件还是会用系统默认设置2.2 单文件格式化命令在项目根目录运行npx prettier --write src/your-current-file.js3. 项目级永久解决方案要一劳永逸地解决这个问题需要在三个层面进行配置3.1 Prettier配置优先级最高在项目根目录的.prettierrc文件中添加{ endOfLine: lf, overrides: [ { files: *.md, options: { endOfLine: crlf } // Markdown文件有时需要CRLF } ] }3.2 EditorConfig配置跨编辑器支持创建/修改.editorconfig文件root true [*] end_of_line lf charset utf-8 trim_trailing_whitespace true insert_final_newline true [*.md] end_of_line crlf # 例外配置3.3 VSCode工作区设置在项目的.vscode/settings.json中添加{ files.eol: \n, prettier.endOfLine: lf, [markdown]: { files.eol: \r\n } }4. 高级技巧Git自动转换配置为了防止团队协作时换行符混乱还需要配置Git# 全局配置推荐项目级配置 git config --global core.autocrlf input在项目根目录创建.gitattributes文件* textauto eollf *.{cmd,[cC][mM][dD]} text eolcrlf *.{bat,[bB][aA][tT]} text eolcrlf不同场景下的最佳实践场景推荐配置注意事项纯前端项目强制LF所有成员统一全栈项目(含Windows脚本)智能自动转换在.gitattributes中配置例外开源贡献遵循项目原有规范检查已有配置5. 疑难排查工具箱当上述方法都不奏效时试试这些排查步骤检查配置优先级Prettier配置 EditorConfig VSCode设置用npx prettier --debug-check .验证哪些文件有问题缓存问题rm -rf node_modules/.cache/prettier扩展冲突禁用其他格式化扩展如Beautify在VSCode设置中明确指定默认格式化工具editor.defaultFormatter: esbenp.prettier-vscode, [html]: { editor.defaultFormatter: esbenp.prettier-vscode }那次深夜解决问题的经历让我明白配置的一致性比个人习惯更重要。现在我们的团队规范要求所有新项目必须包含.prettierrc、.editorconfig和.gitattributes这三个文件再也没人抱怨过换行符问题。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2511108.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!