vs code 执行 code . 默认复用旧窗口且不更新工作区路径,需用 code --new-window . 才能正确加载当前目录;终端 cwd 由文件位置、工作区或主目录动态决定,应配置 "terminal.integrated.cwd": "${workspacefolder}" 并重启终端;code runner 需启用 code-runner.filedirectoryascwd 和 code-runner.runinterminal;powershell 路径含空格时必须用双引号包裹。

code . 总在旧窗口打开,路径还显示“No folder opened”
这不是路径写错了,是 VS Code 默认复用单实例窗口。执行 code . 时,它会把当前目录塞进已有窗口的资源管理器里,但工作区上下文没更新,左下角仍卡在上一个路径或显示空状态。
必须加 --new-window 才能真正新开一个干净窗口,并正确加载当前目录为工作区:
-
code --new-window .—— 唯一可靠写法,点号.不能省 - 漏掉
--new-window就等于没启动新窗口 - 路径末尾带斜杠(如
code --new-window ./)可能触发解析异常,资源管理器为空 - 符号链接目录会被原样加载,VS Code 不自动
realpath
终端默认不进项目根目录,pwd 总是错的
VS Code 终端的初始工作目录不是由系统决定的,而是按优先级动态选:先看当前打开的文件所在目录,再看 ${workspaceFolder},最后 fallback 到用户主目录。没显式配置时,行为完全不可控。
解决方法是在 settings.json 里固定它:
- 加这行:
"terminal.integrated.cwd": "${workspaceFolder}" - 变量
${workspaceFolder}只在打开文件夹时有效;只开单个文件时它为空,终端仍会退回到主目录 - 若想按当前文件位置启动终端,改用
${fileDirname} - 改完必须关闭所有终端实例,再按
Ctrl + `开新终端才生效
Code Runner 运行 Python/Node.js 报 FileNotFoundError
代码里写 open("config.json") 却找不到文件?不是文件丢了,是 Code Runner 默认以项目根目录为工作目录,而你的脚本实际在子目录里,相对路径自然错位。
让 Code Runner 对齐文件所在目录:
- 启用
code-runner.fileDirectoryAsCwd设置,值设为true - 同时建议开启
code-runner.runInTerminal,避免集成终端缓存干扰 - 这个设置只影响 Code Runner,不影响调试或手动终端行为
- 如果用了虚拟环境,检查
code-runner.executorMap里的解释器路径是否指向激活后的python或node
PowerShell 下路径含空格,报 command syntax is incorrect
Windows 上 VS Code 默认终端是 PowerShell,它把空格当参数分隔符。写 C:Program FilesPythonpython.exe 会被截成两段,后半截报 “The term 'FilesPythonpython.exe' is not recognized”。
不是转义问题,是引号缺失:
- 必须用双引号包裹整个路径:
"C:Program FilesPythonpython.exe" - 在
tasks.json或launch.json中,反斜杠要双写:"C:\Program Files\Python\python.exe" - 用 Python 的
subprocess.run调外部命令时,别拼字符串,改用列表传参:subprocess.run(["C:\Program Files\Python\python.exe", "--version"]) - 别信单引号——PowerShell 里单引号不展开变量,但路径字面量虽可用,双引号更稳妥
code . 天然就该开新窗口。











