【发布时间】:2020-12-31 19:23:51
【问题描述】:
我在我的主机操作系统上安装了 VSCode,它是 Windows 10,我有一个 Ubuntu 子系统终端 (WSL),我试图用这个命令打开 VSCode code . 问题是输出是Command 'code' not found。我怎样才能做到这一点?
【问题讨论】:
标签: linux visual-studio-code windows-subsystem-for-linux
我在我的主机操作系统上安装了 VSCode,它是 Windows 10,我有一个 Ubuntu 子系统终端 (WSL),我试图用这个命令打开 VSCode code . 问题是输出是Command 'code' not found。我怎样才能做到这一点?
【问题讨论】:
标签: linux visual-studio-code windows-subsystem-for-linux
假设你已经在默认位置安装了 VSCode,那么在 WSL 中你可以这样做:
PATH="$PATH:/mnt/c/Users/your-user-name/AppData/Local/Programs/Microsoft VS Code"
然后运行code.exe .
【讨论】:
首先,尝试在 VSCode 中安装 Remote - WSL 扩展(或元 Remote Development 扩展包,其中包含 WSL 工作)。
我怀疑这是您的主要问题,但它可能会有所帮助。
接下来,尝试在 PowerShell 下运行 code . - 可以吗?如果不是,则 VSCode 不在 Windows 路径中。尝试重新安装它——如果它不在路径中,则其他一些关联也可能没有正确安装。我不记得在安装过程中是否有添加或不添加到 Windows 路径的选项,但如果有,可能是在安装过程中取消了选择。
如果它确实在 Windows 中启动,那么显然它在 Windows 路径中。默认情况下,WSL 在初始化期间将 Windows 路径附加到 Ubuntu 中的默认路径。所以(同样,默认情况下)code . 如果在 PowerShell 下工作,它应该可以在 WSL 中工作。
在 Ubuntu (echo $PATH) 下检查您的 $PATH。 .../Microsoft VS Code/bin 目录(无论它安装在哪里)是否在路径中?如果不是,那么 WSL 可能不会执行其默认追加。在 Ubuntu 下编辑 /etc/wsl.conf 并查看是否有 [interop] 部分,如:
[interop]
appendWindowsPath=false
如果是这样,则将其更改为 true(或将其完全删除)以允许 WSL 添加 Windows 路径。如果缺少它是默认设置,您可以尝试添加它并将其设置为true(尽管这应该没有任何效果)。
如果这仍然不起作用,请检查您的启动脚本(例如.profile、.bash_profile、.bashrc),看看是否对 PATH 进行了任何可能导致此问题的修改。
【讨论】:
您需要指定全名,例如code.exe ...(注意 .exe)。
【讨论】:
PATH;见Microsoft help ...
/mnt/c/Windows/System32/notepad.exe?只需将 Windows/System32/notepad.exe` 替换为您的可视代码可执行文件的实际路径和可执行文件名称即可。
code . 本身就可以工作。 WSL 下不需要 .exe(版本 1 和 2 都不是)。 OP 所经历的是另一回事。