VSCode格式化工具与纠错规则配合使用指南

轻雪大大_4655

轻雪大大_4655

2026-10-17

942人浏览

原创

必须禁用eslint格式化功能("eslint.format.enable": false)、关闭vetur的js/html格式化("vetur.format.defaultformatter.js/html": "none")、禁用vscode内置js/html格式器,并为每种语言显式指定"editor.defaultformatter"为prettier,确保其唯一执行格式化。

vscode格式化工具与纠错规则配合使用指南

VSCode 里装了 Prettier、ESLint、Vetur 这些插件,但保存后代码还是报错、格式乱跳、引号分号反复切换——问题不在工具没装,而在它们没被“管住”。核心矛盾是:多个格式化器同时对同一文件生效,且职责没划清。

为什么保存时代码会“闪一下”再变样?

这是多个格式化器串行执行的典型表现。VSCode 检测到一个文件有多个可用格式化器(比如 esbenp.prettier-vscode、dbaeumer.vscode-eslint、vetur),默认按响应速度或启用顺序依次调用。实测中 prettier 通常最慢,但它最后执行,就会覆盖前面的结果——你看到的“闪”,其实是 ESLint 先修了一次,Prettier 紧接着又重排了一次。

  • 必须禁用所有语言的内置格式化器,例如关闭 javascript.format.enable 和 html.format.enable
  • Vue 项目要额外关掉 Vetur 的 JS/HTML 格式化:在 settings.json 加上 "vetur.format.defaultFormatter.js": "none" 和 "vetur.format.defaultFormatter.html": "none"
  • 确保只有一条路径能触发格式化:要么用 Prettier 做唯一格式化器,要么让 ESLint 只做检查+修复(不参与格式排版)

ESLint 能不能既报错又格式化?

可以,但不该让它干这个活。ESLint 的 source.fixAll.eslint 能修一部分风格问题(比如引号、分号),但它的修复逻辑和 Prettier 的排版规则天然冲突。比如 ESLint 修完是 const a = 1;,Prettier 接着可能改成 const a = 1(无分号),来回拉扯。

VSCode
VSCode

避免常见的 VSCode 错误——设置冲突、调试器配置和扩展冲突。

下载
  • 推荐配置:ESLint 只负责静态检查,禁用所有格式类规则,靠 eslint-config-prettier 插件一键清空
  • 在 .eslintrc.js 中明确写:extends: ["eslint:recommended", "prettier"],后面那个 prettier 就是 eslint-config-prettier
  • 把自动修复留给 Prettier,ESLint 的 editor.codeActionsOnSave 只保留 "source.fixAll.eslint" 用于逻辑错误(如未定义变量),别让它碰样式

如何让 .prettierrc 和 .eslintrc 同时生效又不打架?

它们本就不该“同时生效”于同一操作。正确分工是:.prettierrc 控制“怎么排版”,.eslintrc 控制“哪里写错了”。两者共存的前提是 ESLint 不输出任何格式建议。

  • .prettierrc 示例(项目根目录):
    { "semi": false, "singleQuote": true, "printWidth": 100 }
  • .eslintrc.js 必须含 plugins: ["prettier"] 和 rules: { "prettier/prettier": "error" },这样 ESLint 会把 Prettier 的排版结果当“标准”,不合就报错,而不是自己去改
  • VSCode 的 settings.json 中,JavaScript 文件必须指定 "[javascript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },否则 ESLint 可能偷偷接管格式化

Vue 单文件里 HTML/JS/CSS 各自用什么格式化器?

Vetur 默认全包,但这正是冲突源头。Vue 文件本质是三段式(<template></template>、<script></script>、<style></style>),每段应由对应语言的专用格式化器处理,而非 Vetur 一刀切。

  • <script></script> 部分交给 esbenp.prettier-vscode(配合 .prettierrc)
  • <template></template> 部分也走 Prettier,但需确认 prettier-plugin-vue 已安装并启用(它让 Prettier 理解 Vue 特有语法)
  • <style></style> 部分同理,Prettier + prettier-plugin-css 或直接用 stylelint 检查(不格式化)
  • 彻底禁用 Vetur 的格式化能力,只保留其语法高亮和跳转功能

真正难的不是配多少插件,而是敢关掉那些“看起来有用其实捣乱”的开关。尤其 Vetur 的默认格式化、ESLint 的格式类 rule、VSCode 内置 JS 格式器——这三个关不干净,再多配置都是白搭。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

vscode纠错规则 vscode

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
vscode是什么_vscode怎么安装配置
vscode是什么_vscode怎么安装配置

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

2023.06.30

1355

18

vscode怎么运行代码
vscode怎么运行代码

vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.21

2872

3

vscode使用的框架介绍
vscode使用的框架介绍

VSCode是一款跨平台代码编辑器,它基于Electron框架和Monaco Editor构建。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1969

12

vscode一般用来写什么语言
vscode一般用来写什么语言

VSCode是一款功能强大的代码编辑器,支持多种编程语言和文件格式。它内置对 JavaScript、Python、Java、C++、TypeScript、HTML/CSS、Go 等语言的支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1727

8

vscode可以写什么语言
vscode可以写什么语言

vscode是一款强大的代码编辑器,支持多种编程语言的开发。通过安装扩展,可以为 JavaScript/TypeScript、Python、Java、C#、PHP、Go、Ruby、Rust、HTML/CSS 等语言提供智能代码补全、调试和格式化等功能。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

2607

12

vscode中文设置方法
vscode中文设置方法

方法一:在设置页面中,搜索“locale”,并选择“zh-cn”。方法二:按“Ctrl Shift P”快捷键,输入“Configure Display Language”,将语言修改为“zh-cn”。如果上述方法无效,可考虑安装中文插件。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1838

14

vscode用途介绍
vscode用途介绍

Visual Studio Code(VSCode)是一款由 Microsoft 开发的多功能文本编辑器,适用于各种编程语言。作为一款开源软件,VSCode 拥有代码高亮、自动补全、调试、Git 集成等强大功能,成为程序员不可或缺的工具。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1262

10

vscode和visualstudio的区别
vscode和visualstudio的区别

Visual Studio是一款功能强大的集成开发环境(IDE),适用于专业开发人员进行复杂项目的构建。而VSCode则是一款轻量级的代码编辑器,更适合各种规模的项目开发。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1116

8

vscode设置中文界面不生效解决方法
vscode设置中文界面不生效解决方法

vscode设置中文界面不生效解决方法:安装中文语言包、通过命令面板设置语言、检查 locale.json 设置、重新安装中文语言包、检查 VSCode 版本和更新、排除插件冲突、检查系统语言设置、查看 VSCode 日志和错误消息、重置 VSCode 设置、查看官方文档和社区支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

494

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程