从 WSL 启动 VS 代码 Bash

Launch VS Code from WSL Bash

我安装了创意者更新。 WSL 正在运行。我可以通过简单地调用 notepad.exe 来执行大多数 .exe 文件但是当涉及到 VS 代码时......我不能使用默认的 code 命令或调用 code.exe... 我还尝试了 codecode.cmd。为什么 VS Code 不像其他程序那样执行?有没有办法启用 code 命令?

编辑:我现在收到这些错误:

me@mypc:/mnt/c/Users/me/Documents/project_folder$ code . /mnt/c/Program Files (x86)/Microsoft VS Code/bin/code: line 7: realpath: comma nd not found /mnt/c/Program Files (x86)/Microsoft VS Code/bin/code: line 14: ./Code.exe: No such file or directory

Creators 更新 安装了互操作功能。但是,您似乎需要在 WSL 中安装 realpath 才能识别路径。我不确定为什么会这样,但 运行 sudo apt-get install realpath 帮我修好了!

编辑: 更新到 Fall Creators Update 后从 WSL 启动 VSCode 开箱即用

您始终可以在 WSL 中创建别名 Bash shell

alias code="/mnt/c/Program\ Files/Microsoft\ VS\ Code/Code.exe"

如果您将它添加到您的 .bashrc 或 .zshrc 文件中,那么当您启动一个新的环境实例时它将始终可用。

警告Do not change Linux files using Windows apps and tools

更新:以上与version 1903或更高版本无关。

除此之外,我最近遇到了完全相同的行为。事实证明,在我使用 VS Code 对 WSL 进行首次尝试时,我还安装了来自 apt 的本机副本,它覆盖了 Windows 路径。

所以在 WSL 中我用这样的东西删除了它...

$ sudo apt remove code -y; sudo apt autoremove -y

然后确认路径是正确的...

$ which code
/mnt/c/Program Files/Microsoft VS Code/bin/code

然后重新启动 WSL 终端,再次进入美妙的编码世界,一切都很好。 :)

注意:我想另一种选择是修复 WSL 中的路径,但如果没有安装 GUI 包,它只会在后台启动并且永远不会出现。

我在 wsl2 上手动更新 Ubuntu 后遇到了同样的问题。我通过将这个函数添加到 .bashrc 配置文件来解决这个问题。这是比别名更好的解决方案,因为它不会阻塞控制台。

在将其添加到您的配置之前测试 bash 中的功能并根据需要调整路径。当然,您必须将 {username} 更改为您的 Windows 帐户用户名。

function code () { /mnt/c/Users/{username}/AppData/Local/Programs/Microsoft\ VS\ Code/Code.exe; }

如果成功,请将其添加到您的配置脚本中,例如.bashrc.zshrc。这是执行此操作的脚本。

echo "function code () {
  /mnt/c/Users/{username}/AppData/Local/Programs/Microsoft\ VS\ Code/Code.exe \"$@\"; 
}" >> ~/.bashrc
source ~/.bashrc
code .

尽管我的建议是备份并从 Microsoft Store 安装新的发行版,然后使用 Remote - WSL 扩展打开 VS Code。如果初始化 WSL 扩展时出现错误,请先重新安装它。如果您使用 19.04 Ubuntu 并升级到 20.04,它有时需要下载该版本的初始化脚本,否则会失败。 这应该有所帮助:)

另一种方法是使用以下方法:

cmd.exe /c code

这也适用于 VSCodium:

cmd.exe /c codium