You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在VSCode中指定启动Ubuntu终端并默认打开项目目录?

解决VSCode中Ubuntu终端直接打开项目目录的问题

我帮你搞定这个需求!不用依赖wsl /setdefault指定默认发行版,我们可以直接给Ubuntu的启动器加参数,让它启动时自动切换到你的项目目录。

方法一:基于旧版shell配置(如果你还在使用terminal.integrated.shell.windows

你原来的配置只是指定了Ubuntu的启动路径,现在只需要添加启动参数,让它执行目录切换命令后再启动交互式shell:

打开VSCode的settings.json(可以通过Ctrl+,打开设置面板,然后点击右上角的{}图标进入编辑模式),修改成下面的配置:

"terminal.integrated.shell.windows": "C:\\Users\\bd\\AppData\\Local\\Microsoft\\WindowsApps\\ubuntu.exe",
"terminal.integrated.shellArgs.windows": ["-c", "cd /path/to/your/project && exec $SHELL"]

方法二:新版Profile配置(推荐,VSCode官方现在更建议用这种方式)

如果你的VSCode版本较新,terminal.integrated.shell.windows已经被标记为弃用,推荐创建自定义终端Profile:

同样在settings.json中添加以下配置:

"terminal.integrated.profiles.windows": {
    "Ubuntu (项目目录)": {
        "path": "C:\\Users\\bd\\AppData\\Local\\Microsoft\\WindowsApps\\ubuntu.exe",
        "args": ["-c", "cd /path/to/your/project && exec $SHELL"]
    }
},
"terminal.integrated.defaultProfile.windows": "Ubuntu (项目目录)"

关键说明:

  • /path/to/your/project替换成你实际的WSL路径:
    • 如果项目在Windows磁盘上,比如D:\MyProjects\demo,对应的WSL路径是/mnt/d/MyProjects/demo
    • 如果项目在WSL内部的用户目录,比如/home/bd/my-project,直接写这个路径即可。
  • 使用exec $SHELL是为了替换当前进程为交互式shell,避免退出时回到初始的主目录,体验更顺畅。

这样配置后,每次在VSCode中打开终端,都会直接启动你指定的Ubuntu发行版,并自动进入项目目录,完全不需要设置默认WSL发行版~

内容的提问来源于stack exchange,提问作者Bernhard Döbler

火山引擎 最新活动