根本原因是VS Code默认以工作区根目录为当前工作目录,而非脚本所在目录;解决方法包括:1. 在launch.json中配置"cwd": "${fileDirname}";2. 终端运行时设置"terminal.integrated.cwd";3. 代码中用os.path.join(os.path.dirname(__file__), "filename")构建路径。

Python脚本里用相对路径读文件却报错
根本不是代码写错了,而是VS Code默认以工作区根目录为基准去解析open("data.txt")这类路径,而你的.py文件可能在src/子目录下,data.txt却和.py同级。运行时实际找的是${workspaceFolder}/data.txt,自然找不到。
- 最稳的解法:在
launch.json里加"cwd": "${fileDirname}",让调试时当前工作目录变成.py所在目录 - 如果只是终端运行(没调试),改
settings.json加"terminal.integrated.cwd": "${workspaceFolder}"或"${fileDirname}",看你要统一还是随文件变 - 代码里别硬写
../config.json,用os.path.join(os.path.dirname(__file__), "config.json")更可靠
终端执行命令提示“系统找不到指定的路径”
常见于Windows下跑npm run build或python manage.py runserver时弹窗报错,本质是PATH里缺了关键路径,或者注册表残留了旧安装信息。
- 先在终端里直接输
where npm(Win)或which node(macOS/Linux),确认命令真能被找到 - 如果找不到,检查
%APPDATA% pm(Win)或$(npm config get prefix)/bin(macOS/Linux)是否已加入系统PATH - 若曾卸载重装过VS Code,注册表
HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionUninstall下可能残留旧项,删掉再装就能恢复路径选择界面
Java扩展启动失败,说找不到JDK路径
VS Code的Java支持不看PATH里的java命令,它要的是完整JDK安装目录,且严格按优先级找:先查java.jdt.ls.java.home设置,再查JDK_HOME、JAVA_HOME,最后才扫PATH和常见路径。
- 别只配
PATH——必须同时设好JAVA_HOME指向JDK根目录(比如C:Program FilesJavajdk-17.0.2),不能只指到bin子目录 - 多版本共存时,在
settings.json里显式写死"java.jdt.ls.java.home": "C:\path\to\jdk-11",比环境变量更可控 - 改完环境变量后,务必重启VS Code(不是只关窗口),否则Java扩展仍读缓存值
C++头文件#include报红,提示路径找不到
IntelliSense不是编译器,它不会自动遍历-I参数,得手动告诉它哪些目录要索引。报Cannot open source file "xxx.h"基本就是includePath漏了。
- 打开
.vscode/c_cpp_properties.json,确保includePath包含项目实际头文件位置,比如"${workspaceFolder}/include"或/usr/include/c++/11 - 别只写
"${workspaceFolder}/**"——通配太宽泛,可能掩盖真实路径缺失问题;优先列明具体路径 - 如果用了Conan或vcpkg,记得把它们的include目录也加进去,例如
"${workspaceFolder}/build/_deps/xxxx-src/include"
真正容易被忽略的点是:这些配置项之间存在隐式依赖。比如你改了launch.json的cwd,但忘了同步调整tasks.json里的args路径,构建任务仍会失败。每次调路径,最好顺手检查所有关联配置文件是否一致。











