JavaScript Booster、ESLint与Prettier协同提升代码质量:Booster通过光标停靠触发安全重构(如Convert to const、Replace with template string);ESLint负责静态检查,Prettier统一格式,须装eslint-config-prettier并禁用Prettier独立格式化以避免冲突;Live Server解决file://跨域问题。

JavaScript 代码质量提升,不靠手动改,靠插件自动推。 VSCode 里真正能改变 JS 开发节奏的,不是“装得多”,而是几个关键插件在正确时机、以安全方式触发重构——比如光标一停,JavaScript Booster 就给出 Convert to const 或 Replace with template string,而不是等你想起要改。
ESLint + Prettier 配置冲突怎么破
常见错误现象:Ctrl+S 后代码格式乱了,或 ESLint 报错但 Fix 按钮灰掉;更隐蔽的是,eslint-config-prettier 没装,导致 no-unused-vars 和 Prettier 的空行规则打架。
- 必须装
eslint-config-prettier,并在.eslintrc.js的extends末尾加上'prettier' -
settings.json中关掉 Prettier 的独立格式化:设"editor.formatOnSave": false,只让 ESLint 负责格式修复(通过--fix) - 项目级配置优先于用户级:如果
package.json里有"eslintConfig",VSCode 会优先读它,别只改自己本地 settings
JavaScript Booster 的重构为什么有时不亮灯泡
不是插件坏了,是它对上下文有硬性要求。比如 Convert to arrow function 只对 function 表达式生效,不支持 function 声明;Flip if-else 要求 if 和 else 块都非空且无嵌套 return。
- 光标必须落在可识别语法节点上:比如
if (a === 32)整行,不能只在括号内 - 变量作用域受限:若函数内用了
this或arguments,Convert to arrow function会被禁用(箭头函数没自己的this) - 不支持压缩代码:如果文件被
terser处理过,或含eval动态执行,插件会跳过分析
Live Server 启动后 JS 报跨域错误
错误信息通常是:Access to script at 'file:///...' from origin 'null' has been blocked by CORS policy。这不是代码问题,是浏览器直接打开 file:// 协议导致的。
- 右键 HTML 文件 →
Open with Live Server,确保地址栏是http://localhost:5500/xxx.html,不是file:// - 如果项目用了
import语法(如 ES modules),必须配type="module",否则import会静默失败 - 调试时别关 Live Server 再手动刷新——关服务后页面变成
file://,CORS 错误立刻复现
真正卡住人的,往往不是插件装没装,而是 ESLint 规则和 Prettier 的边界在哪、Booster 在什么 AST 节点上才敢动手、Live Server 的协议切换是否彻底。这些细节不摸清,再多插件也只浮在表面。


















