VSCode自定义任务执行目录错误,pwd输出用户家目录而非项目目录
原因分析
- 你在VS Code中打开的根目录不是
C:\Users\myname\someproject,而是上级的C:\Users\myname用户目录。VS Code的shell任务默认会将当前打开的工作区根目录作为执行路径,打开上层目录就会导致任务在用户家目录执行。 - 即使打开的是正确的项目目录,未在任务配置中显式指定执行路径的情况下,复用之前未切换目录的终端会话时,也可能出现执行路径fallback到用户家目录的情况。
解决方法
- 确认VS Code打开的根目录为项目目录:点击左侧资源管理器,查看顶部展示的根目录名称是否为
someproject,如果不是,通过顶部菜单栏「文件>打开文件夹」重新选择C:\Users\myname\someproject目录打开即可。 - 在tasks.json中显式指定任务的执行路径,添加
cwd字段,使用VS Code内置变量${workspaceFolder}指代当前工作区根目录,修改后的配置如下:
// C:\Users\myname\someproject\.vscode\tasks.json { "version": "2.0.0", "tasks": [ { "label": "show project dir", "type": "shell", "command": "pwd", "cwd": "${workspaceFolder}" } ] }
修改后重新运行任务,就会在项目目录下执行,输出预期的路径。
内容的提问来源于stack exchange,提问作者birgersp
相关产品推荐
相关产品推荐

