WSL2:使用 *.code-workspace 文件从命令行启动 VSCode

WSL2: Launching VSCode from the command line using a *.code-workspace file

我有 Windows 10 + WSL2 和最新版本 VSCode。我还有一个简单的 .code-workspace 文件,我可以双击(从 windows 文件资源管理器中)并以弹出的方式启动 VSCode 已经附加到特定 docker-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 相同的方式工作?

然后回答我自己的问题:

  "/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

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