tasks.json必须严格置于工作区根目录的.vscode/tasks.json路径下,命名不可为task.json或嵌套于子文件夹;否则VSCode完全不识别,Tasks: Run Task菜单为空。

怎么用 tasks.json 自动化 JS 开发常见操作
直接改 tasks.json 就能绕过命令行手动敲,关键不是“能不能”,而是“哪些任务值得自动化”。比如每次保存就跑 eslint、改完 .js 文件自动执行 prettier、提交前强制跑一遍单元测试——这些才是真实高频场景。
常见错误现象:改了代码但没触发 lint,结果 PR 被 CI 拦住;或者格式化命令写错路径,prettier --write src/**/*.js 实际上匹配不到文件。
-
command值为npx时,必须确保项目本地装了对应包(如eslint),全局安装不被识别 -
args中路径推荐用相对路径(如["--fix", "src/**/*.js"]),避免因工作区根目录变动失效 - 多个任务串联时,
dependsOn的label必须完全一致,大小写敏感,且不能含空格(建议用短横线分隔,如"lint-fix")
ESLint + Prettier 协同失效的典型原因
不是插件装了就自动生效,而是三者要对齐:VSCode 设置、项目配置、插件行为。最常踩的坑是 ESLint 报错但不修复,或 Prettier 格式化后又被 ESLint 打回。
使用场景:团队协作中,有人开 editor.formatOnSave,有人关,导致同一文件反复被不同规则“搓洗”。
- VSCode 设置里必须明确指定默认 formatter:
"editor.defaultFormatter": "esbenp.prettier-vscode" -
.eslintrc.js中要包含extends: ["prettier"],否则 ESLint 规则和 Prettier 冲突项不会被禁用 - 如果项目用了 TypeScript,
eslint.validate需显式加"typescript",否则.ts文件不走 ESLint
Live Server 启动失败时先查什么
点“Go Live”没反应,或者浏览器打开空白页,90% 不是插件问题,而是当前文件没被识别为可服务资源。
错误信息常表现为:Cannot GET / 或控制台报 net::ERR_CONNECTION_REFUSED。
- 确认右键点击的是
.html文件,而不是.js或.css—— Live Server 只从 HTML 入口启动 - 检查 VSCode 当前打开的文件夹是否为项目根目录,否则它可能找不到
index.html - 端口被占时,Live Server 默认会顺延到下一个可用端口,但某些防火墙策略会拦截非标准端口(如 5500 以外),可在设置里固定
"liveServer.settings.AdvanceCustomBrowserUrl": true并手动指定
AutoX.js 脚本开发中调试任务怎么配
VSCode 本身不原生支持 AutoX.js 调试,得靠插件桥接模拟器端口。真正卡住人的不是写脚本,而是 launch.json 里 host/port 配错,或者模拟器没开 ADB 调试。
典型现象:VSCode 显示 “Connecting to device…” 一直转圈,adb devices 却能列出设备。
- 确保模拟器已启用“USB 调试”且 ADB 处于 root 模式(部分模拟器需额外开启“ADB 调试(网络)”)
-
launch.json中port必须和 AutoX.js 设置里的“远程调试端口”一致,默认是9317,不是8080或3000 - 若用夜神模拟器,
host一般填127.0.0.1;若用 MuMu,则可能是10.0.3.2(需查模拟器文档)
复杂点在于不同模拟器的 ADB 网络栈实现差异很大,同一套配置在夜神能连,在雷电可能就得换 host 地址——别指望一次配好全适配。











