我正在使用 WSL,特别是WLinux Distro
。我已经安装了所有内容。NodeJS、Git、zsh、oh-my-zsh,甚至以某种方式解决了我的 SSH 密钥问题。
但是,现在当我移动到 WSL 中的所需目录并执行时Code .
,VSCode 会打开,但位置完全错误。我看到我的 System32 文件在 VSCode 中打开,但无法使用集成终端导航。我有这些设置。
{
"terminal.external.windowsExec": "C:\\Windows\\System32\\wsl.exe",
"terminal.integrated.shell.windows": "C:\\Windows\\System32\\wsl.exe"
}
通过上述设置,我可以看到 zsh,它在集成终端中激活,但在 system32 中打开。我需要在我的工作文件中打开它。
问题:
请告诉我如何制作 1) 通过Code .
在 WSL 终端中键入 来打开 VSCode,以及如何将集成终端设置为与 WSL 相同。另外,如果你能向我解释一下为什么会这样就太好了。我有时会失去这个 WSL 系统。谢谢
在 WSL 终端中,如果我执行常规code .
而不使用大写字母,它就会吐出这个。
projectName git:(master) code . zsh: no such file or directory: /mnt/c/Program Files/Microsoft VS Code/Code.exe ```
Git seems to work in WSL Terminal since I can do `glog`.
答案1
对于 Zsh 和工作,请不要调用 wsl.exe,而是调用 distrib。我使用 Ubuntu 1804,我的设置是:
"terminal.integrated.shell.windows": "ubuntu1804.exe",
"terminal.integrated.shellArgs.windows": ["run"],
shell 在 windows 路径下,所以写完整路径是没用的。
答案2
我正在使用来自 Windows 商店的 Debian Shell,并且此配置对我有用:
"terminal.integrated.shell.windows": "C:\\Users\\USERNAME\\AppData\\Local\\Microsoft\\WindowsApps\\debian.exe",
"terminal.integrated.shellArgs.windows": ["run"]
答案3
我按照本指南实现了您所描述的内容:
https://code.visualstudio.com/docs/remote/wsl
它需要使用 Visual Studio Code Insiders 和远程开发扩展。
答案4
之前的答案对我不起作用,所以如果有人想知道,你可以使用 --cd 标志更改 WSL 起始目录。我修改了我的 WSL 终端实例设置以提供该标志。
这是我在 VSCode 上的 settings.json 中的设置:
"terminal.integrated.profiles.windows": {
"cme": {
"path": "C:\\WINDOWS\\System32\\wsl.exe",
"args": [
"-d",
"cmeUbuntu", //CHANGE THIS TO YOUR WSL INSTALLATION NAME
"--cd",
"~" //PUT YOUR PATH HERE
],
"cwd": "c:\\"
}
},
"terminal.integrated.inheritEnv": false,
"terminal.integrated.defaultProfile.windows": "cme"
如果您按照 Visual Studio Microsoft 网站上的以下部分操作,您将看到以下步骤的详细信息: https://code.visualstudio.com/docs/editor/integrated-terminal#_configuring-profiles