如何禁用Prettier和ESLint的行宽检查及自动格式化?
搞定ESLint和Prettier的行宽强制格式化问题
关键配置步骤
要彻底让两者不再干预行宽,得从Prettier和ESLint两头同时调整:
1. 让Prettier彻底放弃行宽控制
Prettier哪怕把printWidth设成999,还是会合并手动换行——因为它默认会主动调整代码结构。要保留手动换行,需修改.prettierrc:
{ "printWidth": 10000, "proseWrap": "preserve", "htmlWhitespaceSensitivity": "ignore" }
- 10000的宽度足够覆盖绝大多数长行场景;
proseWrap: preserve会强制保留你手动添加的换行,避免Prettier自动合并。
如果还是无效,可以直接关闭编辑器的自动格式化(比如VS Code里关闭editor.formatOnSave),或者在项目根目录添加.prettierignore,排除不需要格式化的文件。
2. 彻底消除ESLint的行宽报错
你关闭了max-len但仍出现eslint(prettier/prettier)报错,是因为eslint-plugin-prettier插件在同步Prettier的规则。需修改.eslintrc.cjs:
module.exports = { // 保留原有其他配置 rules: { 'max-len': 'off', 'prettier/prettier': ['error', { printWidth: 10000, proseWrap: 'preserve' }] } }
直接在ESLint的Prettier规则里同步禁用行宽限制,就能消除红橙色下划线。如果不需要eslint-plugin-prettier插件,直接卸载它,并删除ESLint配置中plugin:prettier/recommended这类相关扩展即可。
避坑提醒
- 不要用
Infinity或false作为printWidth的值,Prettier不支持这些类型,会自动 fallback 到默认值; - 编辑器的格式化设置要与配置文件一致,比如VS Code需指定Prettier为默认格式化器,否则配置会不生效。
内容的提问来源于stack exchange,提问作者Justin
相关产品推荐
相关产品推荐

