优先用.env文件,它同时生效于调试(f5)、终端(ctrl+`)和测试(pytest),且无需重启vscode(需python插件v2026.6+),内容仅一行:pythonpath=${workspacefolder}。

VSCode 调试失败,90% 不是代码写错了,而是模块路径没对上——Python 找不到包、Java 加不进依赖模块、Go 读不到本地库、Node.js require 全局模块报错,全卡在路径这一步。
Python 调试时 ModuleNotFoundError,该配 launch.json 还是 .env?
优先用 .env 文件。它同时生效于调试(F5)、终端(Ctrl+`)、测试(pytest)三类场景,且无需重启 VSCode(只要 Python 插件是 v2026.6+)。
-
.env内容只写一行:PYTHONPATH=${workspaceFolder}(Windows 多路径用分号;,Linux/macOS 用冒号:) - 不要在
launch.json的env里硬编码绝对路径,比如C:\myproj——跨机器就失效 - 验证方式:在出错文件开头加
import sys; print(sys.path[0]),对比终端和调试器输出是否都含项目根目录 - 如果只配了
launch.json的env,那终端运行python main.py仍会报错
Java 多模块 Maven 项目启动报 NoClassDefFoundError,classpath 怎么补?
VSCode 不会自动把所有子模块的 target/classes 加进 classpath,必须手动声明。关键不是改 pom.xml,而是让 launch.json 显式列出依赖模块。
- 在
.vscode/launch.json对应配置中,加"classPaths"字段,值为数组,例如:["./web-backend/target/classes", "./service-order/target/classes", "./core-common/target/classes"] - 路径用相对
${workspaceFolder}更稳,避免硬编码;注意 Windows 下反斜杠要转义或统一用正斜杠 - 确保
settings.json启用了 Maven 多模块导入:"maven.pomfile": "pom.xml"和"maven.importOnFirstRead": true - 调试前务必执行一次
mvn compile,否则target/classes目录为空,路径再对也加载不到类
Go 项目无法跳转或调试找不到包,是 GOPATH 还是 go.mod 问题?
Go 1.11+ 项目优先走 go.mod,但 VSCode Go 扩展默认仍会查 GOPATH。若项目根目录有 go.mod,就别动 go.gopath,重点检查 gopls 是否启用。
- 确认
go.useLanguageServer设为true,这是模块支持的核心开关 - 不要设
go.inferGopath: true—— 它会向上找src目录,反而破坏模块路径解析逻辑 - 运行命令
Go: Current GOPATH,输出应为off (module-aware)或空,而不是一个具体路径 - 如果
gopls报错“no modules found”,说明当前打开的不是 module 根目录,需用文件资源管理器定位到含go.mod的文件夹再打开工作区
Node.js 全局 npm 包在 VSCode 终端里敲不出来,到底该改 PATH 还是 NODE_PATH?
命令行执行(如 vue -V)只看系统 PATH,跟 NODE_PATH 无关。NODE_PATH 只影响 require(),而且现代 Node.js(v14+)已基本弃用它。
- 在系统环境变量
Path(用户变量)中,把旧的%USERPROFILE%\AppData\Roaming\npm替换为你npm config get prefix返回的实际路径(如D:\nodejs\node_global) - 改完必须彻底关闭所有 VSCode 窗口,再重新打开——继承的是父进程环境,热重载不生效
- 调试时
require('lodash')失败,不要加NODE_PATH,改用launch.json的env注入:"NODE_OPTIONS": "--experimental-specifier-resolution=node" - 更推荐的做法:别全局装工具包,用
npx或项目级devDependencies,路径问题直接消失
最常被忽略的一点:所有路径配置都依赖 VSCode 启动方式。如果你是右键菜单“Open with Code”打开项目,它可能没加载用户环境变量;务必从终端执行 code . 启动,才能确保 PATH、PYTHONPATH 等完整传递进来。











