首页 > 解决方案 > WSL2:使用 *.code-workspace 文件从命令行启动 VSCode

问题描述

我有最新版本的 VSCode 的 Windows 10 + WSL2。我还有一个简单的 .code-workspace 文件,我可以双击它(从 windows 文件资源管理器中)并以弹出的方式启动 VSCode,它已经附加到一个特定的 docker-container 是 up-and-跑步。

这非常适合双击 .code-workspace 文件:

{
    "folders": [
        {
            "uri": "vscode-remote://attached-container+7b2...27d/workspace/foobar"
        }
    ],
    "remoteAuthority": "attached-container+7b2...27d",
    "settings": {}
}

除了双击之外,我还可以从 Windows 命令行(dos)调用 VSCode,这也可以:

  "C:\Program Files\Microsoft VS Code\Code.exe" "C:\path\to\foobar.code-workspace"

但是,当我尝试从 WSL2 中打开工作区时:

  code ./foobar.code-workspace

即使 VSCode 弹出,工作区也没有正确打开。我应该怎么做才能使 WSL2 (bash) 命令行以与 Windows 中相同的方式工作?

标签: windowsbashvisual-studio-codecommand-linewsl-2

解决方案


并回答我自己的问题:

  "/mnt/c/Program Files/Microsoft VS Code/Code.exe"   ./foobar.code-workspace

奇怪的是,这可以解决问题。

为了使脚本更具动态性,我想可以编写如下内容:

  "$(which code | xargs -0 dirname | xargs -0 dirname)/Code.exe"  ./foobar.code-workspace

希望这可以帮助那里的一些人节省几个小时的时间。


推荐阅读