You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows Terminal配置WSL启动目录为当前打开路径的问题

Windows Terminal配置WSL启动目录为当前打开路径的问题

你遇到的这个问题我之前也折腾过,确实Windows Terminal里配置WSL启动到当前目录比普通终端麻烦不少,不过有几个靠谱的解决办法:

方法一:用wslpath转换路径配合命令行参数

你提到的Windows和WSL路径转换工具就是wslpath,我们可以借助PowerShell做中转,把当前Windows路径转换成WSL可识别的格式:
修改你的WSL配置项中的commandline字段为:

"commandline": "powershell.exe -Command \"wsl --cd (wslpath -u '%cd%')\""

这里的wslpath -u是把Windows路径转换成WSL的Unix风格路径,再通过wsl --cd指定启动目录,就能让WSL在当前路径启动了。

方法二:利用Windows Terminal内置动态变量

Windows Terminal本身提供了动态变量${localDir},能自动把当前的Windows路径转换成WSL兼容格式,直接用这个更简洁:

"commandline": "wsl --cd \"${localDir}\""

这个变量会自动识别你右键打开终端时的当前目录,不用手动做路径转换,是最省心的方法。

方法三:添加右键菜单直接在Windows Terminal打开WSL到当前目录

如果你想要类似Shift+右键“Open Linux shell here”的体验,但直接在Windows Terminal中打开,可以通过修改注册表添加右键选项:

  • 按下Win+R输入regedit打开注册表编辑器
  • 定位到HKEY_CLASSES_ROOT\Directory\Background\shell
  • 新建一个项,命名为OpenWSLinWT
  • 在该项下新建字符串值MUIVerb,设置值为“在Windows Terminal中打开WSL”
  • 再在OpenWSLinWT下新建command项,修改默认值为:
wt.exe -w 0 new-tab -d . wsl.exe

这样在文件夹空白处右键,就能看到这个选项,直接打开Windows Terminal的WSL标签页并进入当前目录。

另外说下你之前尝试失败的原因:

  • wsl --cd %cd%无效是因为%cd%是Windows环境变量,WSL无法直接识别Windows格式的路径;
  • wsl --cd .无效是因为在Windows Terminal的启动上下文里,.指向的是Terminal的默认启动目录,而非你右键点击的当前目录。

备注:内容来源于stack exchange,提问作者Platinium

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 08:08:01