Windows 从WSL Bash启动VS代码
我已经安装了创建者更新。WSL正在运行。我只需调用Windows 从WSL Bash启动VS代码,windows,bash,visual-studio-code,windows-subsystem-for-linux,Windows,Bash,Visual Studio Code,Windows Subsystem For Linux,我已经安装了创建者更新。WSL正在运行。我只需调用notepad.exe就可以执行大多数.exe文件,但当涉及到VS代码时。。。。我无法使用默认的code命令或调用code.exe。。。我也试过code和code.cmd。为什么VS代码不像其他程序那样执行?有没有办法启用code命令 编辑:我现在得到以下错误: me@mypc:/mnt/c/Users/me/Documents/project\u文件夹$code。 /mnt/c/Program Files(x86)/Microsoft VS-C
notepad.exe
就可以执行大多数.exe文件,但当涉及到VS代码时。。。。我无法使用默认的code
命令或调用code.exe
。。。我也试过code
和code.cmd
。为什么VS代码不像其他程序那样执行?有没有办法启用code
命令
编辑:我现在得到以下错误:
me@mypc:/mnt/c/Users/me/Documents/project\u文件夹$code。
/mnt/c/Program Files(x86)/Microsoft VS-Code/bin/Code:line 7:realpath:逗号
未找到nd
/mnt/c/Program Files(x86)/Microsoft VS-Code/bin/Code:line 14:./Code.exe:No
这样的文件或目录
创建者更新没有安装互操作功能。但是,您似乎需要在WSL中安装realpath
,以便识别路径。我不知道为什么会出现这种情况,但运行sudo apt get install realpath
为我修复了它
编辑:在更新到Fall Creators更新后,从WSL启动VSCode即用即用您始终可以在WSL Bash shell中创建别名
alias code="/mnt/c/Program\ Files/Microsoft\ VS\ Code/Code.exe"
如果将其添加到.bashrc或.zshrc文件中,则当您启动环境的新实例时,它将始终可用。警告: 更新:上述内容与当前版本或更新版本无关 有了这些,我最近经历了完全相同的行为。事实证明,在我用VS代码对WSL进行的noobish第一次攻击中,我还安装了一个来自apt的本机副本,该副本重写了Windows路径 所以在《华尔街日报》中,我用这样的东西删除了它
$sudo apt删除代码-y;sudo-apt自动记忆-y
然后确认路径是正确的
$哪个代码
/mnt/c/Program Files/Microsoft VS Code/bin/Code
然后重新启动WSL终端,一切都很好,再次进入了精彩的编码世界。:)
注意:我想另一个选项是修复WSL中的路径,但是如果没有安装GUI包,它将在后台启动,并且无论如何都不会出现。在wsl2上手动更新Ubuntu后,我遇到了同样的问题。我通过将此函数添加到
.bashrc
配置文件中解决了这个问题。它是比alias更好的解决方案,因为它不会阻塞控制台
在将其添加到配置之前,请在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代码。如果初始化WSL扩展时出现错误,请首先重新安装它。如果您使用19.04 Ubuntu并升级到20.04,有时需要下载该版本的初始化脚本,否则会失败。
这应该会有帮助:)另一种选择是使用以下选项:
cmd.exe /c code
这也适用于VSCodium:
cmd.exe /c codium
如果您遇到类似问题,并且正在使用zsh,这可能会对其他人有所帮助。错误:
-bash:/mnt/c/Program:没有这样的文件或目录
您是否正确地转义了“程序文件”中的空间?是的,我正在以与您完全相同的方式逃离路径中的空格,但这似乎不起作用…代码的Linux二进制文件位于VS代码的安装目录中的。\bin中。这对我很有用:function code(){/mnt/c/Program\Files/Microsoft\VS\code/bin/code“$@”}
在将任何文件或文件夹传递到工作区时,不要忘记“$@”。