VSCode中无法让外部终端在当前项目目录打开的求助
解决VSCode外部终端启动WSL并定位当前工作目录的问题
VSCode的terminal.external.windowsExec仅支持指定可执行文件路径,不能直接拼接参数和变量,你需要搭配另一项配置来实现需求:
正确配置步骤
指定WSL可执行文件
保持基础配置不变:"terminal.external.windowsExec": "wsl.exe"添加启动参数与工作目录
根据你的WSL版本选择对应配置:适用于所有WSL版本
通过terminal.external.windowsArgs传递参数,将Windows路径转换为WSL格式并切换目录:"terminal.external.windowsArgs": [ "-e", "bash", "-c", "cd $(wslpath '${workspaceFolder}') && exec bash" ]原理:用
wslpath把VSCode提供的${workspaceFolder}(Windows路径)转成WSL能识别的路径,切换后替换当前进程为bash,避免退出时回到初始shell。仅适用于WSL 2
WSL 2支持--cd参数,配置更简洁:"terminal.external.windowsArgs": [ "--cd", "${workspaceFolder}" ]
生效配置
保存settings.json后,调用「Open External Terminal」,终端会直接启动WSL并定位到当前项目目录。
内容的提问来源于stack exchange,提问作者vdegenne
相关产品推荐
相关产品推荐

