根本原因是VSCode图形界面启动未读取shell的PATH配置;Windows需用code --new-window从终端启动或以管理员身份运行,macOS需在Terminal中执行code命令,并通过echo $PATH或echo %PATH%验证Node路径是否包含在内。

Node.js PATH在VSCode里不生效怎么办
根本问题不是插件没装,而是VSCode图形界面启动时压根没读取你shell里export的PATH。哪怕node -v在终端能跑,内置终端照样报command not found。
- Windows:关掉所有VSCode窗口,用
code --new-window从PowerShell或CMD里启动;或者右键“开始菜单→VS Code (Admin)”强制刷新环境变量 - macOS:别双击.app图标,直接在Terminal里执行
code;如果用Alfred/Spotlight,先运行code --install-extension ms-vscode.vscode-node-asset再重启 - 验证是否修好:在VSCode内置终端里执行
echo $PATH(macOS/Linux)或echo %PATH%(Windows),确认输出里包含Node安装路径,比如/Users/xxx/.nvm/versions/node/v18.12.1/bin
launch.json里写死program导致多入口调试失败
把"program": "./app.js"硬编码进launch.json,等于给调试器套了枷锁——换文件就得手动改配置,CLI工具、API服务、测试脚本全得各自配一套launch.json。
Miller (mlr) 是一个命令行工具,用于查询、整形和重新格式化名称索引数据,如 CSV、TSV、JSON 和 JSON Lines。它将 awk、sed、cut、join 和 sort 的功能整合到一个专为结构化数据处理而构建的单一工具中。
- 日常开发用
"program": "${file}",F5直接调试当前打开的JS文件,不用切来切去 - 想默认跑
index.js?写"program": "${workspaceFolder}/index.js",但必须确保该文件真实存在,否则调试直接退出不报错 - 如果是npm script驱动的流程(比如
npm run dev),别碰program字段,改用"runtimeExecutable": "npm"+"runtimeArgs": ["run", "dev"],且package.json里真有"dev"这个script
ESLint和Prettier打架,保存后代码越格式化越报错
典型症状:保存后import被重排,ESLint立刻标红import/order;或者分号加了又删,规则反复冲突。这不是插件bug,是VSCode没明确告诉两个工具谁说了算。
- 必须在
settings.json里钉死优先级:"editor.defaultFormatter": "esbenp.prettier-vscode",并开启"editor.formatOnSave": true -
.prettierrc只留基础项,比如{"semi": false, "singleQuote": true};所有语义类规则(no-unused-vars、quotes)全交给ESLint的.eslintrc.js管 - 禁用Prettier旧版ESLint集成:
"prettier.eslintIntegration": false(虽然新版已废弃,但老工作区里残留配置会偷偷激活冲突逻辑)
多个Node.js实例占着端口,EADDRINUSE错误反复出现
报错说端口被占,但任务管理器里找不到node.exe?大概率是上一个调试会话的子进程没彻底退出,或者Code Helper进程偷偷绑定了端口。
- 查真实占用:macOS/Linux用
lsof -ni :3000,Windows用Get-NetTCPConnection -LocalPort 3000,别信“没看到进程”这种直觉 - 杀进程要带树:macOS/Linux先
kill 1234(SIGTERM),等2秒再kill -9 1234;Windows必须加/t参数:taskkill /f /t /pid 1234 - 清理残留更彻底:
killall -r "Code Helper|Code|Electron"(macOS/Linux)或taskkill /f /t /im Code.exe && taskkill /f /t /im CodeHelper.exe(Windows) - 注意:
launch.json里的port字段和Live Server插件完全无关,别混着改

















