eslint 能自动修复部分代码风格问题,如分号、引号等无歧义规则,但不修复涉及逻辑的规则;需配置 rules 为 "error"/"warn" 并启用 --fix 或 vs code 的保存自动修复,同时配合 eslint-config-prettier 避免与 prettier 冲突。

ESLint 能否自动修复代码风格问题?
能,但默认只修部分规则,比如 semi(分号)、quotes(引号)这类可无歧义修正的项;而涉及逻辑或语义的(如 no-unused-vars 是否真该删变量)它不会动,只标红警告。
实操建议:
- 在
.eslintrc.js里把rules中想自动修复的项设为"error"或"warn",并确保其支持--fix - VS Code 设置中开启
"editor.codeActionsOnSave": {"source.fixAll.eslint": true},保存即修 - 注意:若项目同时用了 Prettier,必须用
eslint-config-prettier关闭 ESLint 与 Prettier 冲突的规则,否则保存时可能来回打架
Live Server 启动后页面不刷新怎么办?
常见于修改了 JS 文件但浏览器没反应——这不是插件坏了,而是 Live Server 默认只监听 .html、.css 和部分模板文件,对 .js 改动默认不触发重载。
解决方法:
- 右键 HTML 文件 →
Open with Live Server,确保入口是 HTML,JS 是被引用而非独立打开 - 在
settings.json中加配置:"liveServer.settings.AdvanceCustomBrowserCmdLine": ["--disable-web-security"](仅调试用,非生产) - 更可靠的做法:用
import+type="module"加载 JS,或启用liveServer.settings.CustomBrowser指向 Chrome 并配合Disable cache (while DevTools is open)
Quokka.js 运行结果不显示变量值?
不是所有写法都能被 Quokka 实时捕获。它只对“表达式语句”和带 console.log 的行生效,普通赋值(如 let a = 1)或函数声明本身不输出。
让结果可见的写法:
- 直接写表达式:
2 + 3→ 显示5;[1,2,3].map(x => x * 2)→ 显示[2,4,6] - 用
console.log或debugger,Quokka 会内联显示输出 - 避免把逻辑全塞进函数体里却不调用,比如写完
function foo() { return 'bar'; }后没写foo(),就不会有结果 - 检查状态栏右下角是否显示
Quokka: Started,若显示Disabled,需在文件顶部加// @ts-nocheck或确认当前文件关联语言为 JavaScript/TypeScript
Auto Rename Tag 修改标签后样式丢失?
它只改 HTML 标签名,不碰 CSS 类名或内联样式。如果你重命名了 <div class="container"></div> 为 <section class="container"></section>,但 CSS 里写的是 div.container { ... },那样式自然失效。
别指望它智能同步样式表,真实风险点在于:
- 类名未用 BEM 或 CSS-in-JS 管理时,HTML 标签变更常意味着 CSS 选择器也要手动更新
- Vue/React 中使用
v-if、ngIf或 JSX 条件渲染时,Auto Rename Tag 不识别逻辑分支,可能误改非目标标签 - 建议搭配
Bracket Pair Colorizer先确认光标所在标签层级再操作,避免跨层误改
真正让 JS 编写有条理的,不是插件堆得多,而是每个插件只解决一个明确问题:ESLint 守边界,Live Server 管执行流,Quokka 做即时反馈,Auto Rename Tag 减少机械错误。它们之间不重叠、不替代,但一旦配置错位(比如 ESLint 和 Prettier 规则没对齐),反而会让编辑器变卡顿、提示乱跳——这点比功能本身更值得花五分钟核对。











