插件装了但不生效,大概率是路径没对上;VSCode 默认插件路径为Windows的C:Users{用户名}.vscodeextensions、macOS/Linux的~/.vscode/extensions,若自定义路径需确保存在、可读写且斜杠正确,否则安装静默失败。

插件装了但不生效,大概率是路径没对上
VSCode 插件本身不会自动“活起来”,它得能被找到、加载、运行。最常卡在第一步:插件目录路径不对,或 VSCode 根本没去那个地方找。
默认插件路径由系统决定:C:Users{用户名}.vscodeextensions(Windows)、~/.vscode/extensions(macOS/Linux)。如果手动改过 extensions.installDir 或用 code --extensions-dir 启动过,就得确保该路径存在、可读写、且没拼错斜杠(Windows 用 / 或 \,别用单个 )。
- 检查方式:命令面板(
Ctrl+Shift+P)→ 输入Developer: Show Running Extensions,看插件状态是不是 “Active”;如果是 “Inactive” 或空白,基本就是路径或权限问题 - 临时验证:删掉
.vscode/extensions目录,重启 VSCode,重装一个插件(比如Prettier),看它是否自动出现在原默认路径下 - 别在
settings.json里硬写"extensions.installDir": "/wrong/path"—— 路径不存在时,插件安装会静默失败,界面也不报错
调试 Node.js 时 “Cannot find runtime 'node'”,不是插件问题
这个报错和插件无关,是 VSCode 调试器启动时压根没拿到 node 可执行文件路径。哪怕终端里 node -v 正常,调试器也可能看不见。
- 先确认:在 VSCode 内置终端(
Ctrl+`)里执行node -v和which node(macOS/Linux)或where node(Windows),有输出才算真正可用 - 常见断点:macOS/Linux 用户从 Dock 图标启动 VSCode,会丢失 shell 环境变量(比如
~/.zshrc里的PATH);Windows 用户安装 Node.js 时漏选 “Add to PATH” - 硬解法:在
.vscode/settings.json里加一行:"debug.node.autoAttachCustomPort": 9229不管用;正确做法是显式指定:"node.runtimePath": "/usr/local/bin/node"(填which node的真实输出)
launch.json 的 program 字段填错,调试直接挂掉
program 必须指向一个真实存在的、可执行的 JavaScript 文件,不是 TypeScript 源码,也不是相对路径字符串。
- 纯 JS 项目:用
"${workspaceFolder}/app.js",别写"./app.js"或"app.js"——.和./在这里不解析,会被当字面量路径处理 - TypeScript 项目:必须指向编译后文件,比如
"${workspaceFolder}/dist/index.js",同时确保tsconfig.json开了"sourceMap": true,且launch.json里配了"outFiles": ["${workspaceFolder}/dist/**/*.js"] - ESM 项目(
package.json有"type": "module"):仍填 JS 路径,但加"runtimeArgs": ["--experimental-specifier-resolution=node"],否则import会崩
Prettier + ESLint + EditorConfig 这三者怎么配才不打架
单独装 Prettier 很容易格式化出错,因为它只管自己规则,不管团队其他编辑器或 ESLint 规则。真正稳的组合是三者协同,各司其职。
-
EditorConfig插件不格式化代码,只告诉 VSCode 缩进用空格还是 tab、缩几格、换行符类型 —— 它读的是项目根目录的.editorconfig文件 -
ESLint负责代码质量检查(比如未定义变量、无用表达式),配合eslint-config-prettier关掉所有和 Prettier 冲突的规则 -
Prettier只做最后一步:按.editorconfig的基础设置 + 自己的排版逻辑(比如括号换行、链式调用缩进)来格式化 - 关键避坑:
.prettierrc里的tabWidth必须和.editorconfig的indent_size一致,否则保存时来回拉扯
路径问题从来不是孤立的,它串起环境变量、插件加载、调试配置和格式化行为。最容易被忽略的,是 VSCode 内置终端和调试器用的不是同一套环境上下文 —— 同一个 node 命令,在终端里能跑,不代表调试器能调用它。


















