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

如何在VS Code(WSL环境)中通过快捷键打开当前文件至Windows Terminal

实现VS Code快捷键在外部Windows Terminal打开当前文件(含WSL工作区)

这个需求完全可以实现,通过自定义任务+快捷键绑定就能搞定,分场景配置如下:

1. Windows本地工作区配置

  • 在工作区的.vscode/tasks.json中添加任务:
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Open in Windows Terminal",
            "type": "shell",
            "command": "wt.exe start cmd /k cd /d \"${fileDirname}\"",
            "problemMatcher": []
        }
    ]
}
  • 打开快捷键设置(Ctrl+K Ctrl+S),添加绑定:
{
    "key": "ctrl+shift+o", // 可自定义快捷键
    "command": "workbench.action.tasks.runTask",
    "args": "Open in Windows Terminal"
}

按下快捷键后,Windows Terminal会直接打开到当前文件所在目录。

2. WSL工作区配置

WSL环境下需要将Windows路径转换为WSL兼容的Unix路径,同时调用Windows Terminal:

  • 修改.vscode/tasks.json的任务:
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Open in Windows Terminal (WSL)",
            "type": "shell",
            "command": "cmd.exe /c wt.exe start wsl.exe -d ${env:WSL_DISTRO_NAME} --cd \"$(wslpath -u \"${fileDirname}\")\"",
            "problemMatcher": []
        }
    ]
}
  • 绑定快捷键(可复用本地快捷键或单独设置):
{
    "key": "ctrl+shift+alt+o",
    "command": "workbench.action.tasks.runTask",
    "args": "Open in Windows Terminal (WSL)"
}

该任务会自动转换路径,在Windows Terminal中打开对应WSL发行版的目标目录。

统一适配两种环境(可选)

若想让同一个快捷键自动识别工作区环境,可通过when条件区分:

  • 快捷键绑定改为:
[
    {
        "key": "ctrl+shift+o",
        "command": "workbench.action.tasks.runTask",
        "args": "Open in Windows Terminal",
        "when": "!isWSL"
    },
    {
        "key": "ctrl+shift+o",
        "command": "workbench.action.tasks.runTask",
        "args": "Open in Windows Terminal (WSL)",
        "when": "isWSL"
    }
]

这样无论在本地还是WSL工作区,按下同一快捷键都会自动调用对应任务。

注意:确保wt.exe已加入系统PATH,若未加入,可在命令中指定Windows Terminal的完整安装路径。

内容的提问来源于stack exchange,提问作者Teiem

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 16:32:33