如何在 WebStorm 或任何其他 JetBrains 产品中使用 WSL 作为默认终端?
Posted
技术标签:
【中文标题】如何在 WebStorm 或任何其他 JetBrains 产品中使用 WSL 作为默认终端?【英文标题】:How to use WSL as default terminal in WebStorm or any other JetBrains' products? 【发布时间】:2019-01-25 12:32:25 【问题描述】:我目前正在使用安装了 WSL Ubuntu 18.04 的 Windows 10。我正在尝试使用 WSL 作为 WebStorm 中的默认终端,但是,我可以使用 WSL 中的 bash,但默认目录不会设置为默认项目位置。
有人知道如何正确设置吗?
【问题讨论】:
【参考方案1】:在谷歌上搜索了一下找到了我的问题的解决方案。
先用命令找出默认的wsl:
C:\Windows\System32\wslconfig /list
Windows Subsystem for Linux Distributions:
Ubuntu-18.04
Legacy (Default)
然后我将默认设置为 Ubuntu-18.04 by
C:\Windows\System32\wslconfig /setdefault Ubuntu-18.04
最后在Webstrom settings>tools>terminal中设置终端路径为
C:\Windows\System32\wsl.exe
现在打开终端它正确地将当前目录移动到/mnt/c/blah/blah
【讨论】:
谢谢,这有帮助!我有C:\Users\38093\AppData\Local\Microsoft\WindowsApps\ubuntu.exe
作为终端路径,但默认情况下它没有导航到项目文件夹
帮助windows终端默认替换cmd,有用的答案
这也适用于 Rubymine。非常感谢 forkadam
这是一个很好的答案。我一直在寻找这个问题的解决方案!【参考方案2】:
Settings -> Tools -> Terminal
将 cmd.exe
更改为 C:\Windows\System32\bash.exe
并重新启动 Webstorm。
【讨论】:
它也适用于bash.exe
或更好的wsl.exe
。我个性化了我的终端,而最新的终端得到了我的个性化。【参考方案3】:
在 Windows 16215 及更高版本上:
-
安装 WSL 和您选择的 Linux 发行版(我选择了 Ubuntu 18.04)Windows support docs
将默认终端切换为
bash
Settings (or Default Settings)->Tools->Terminal->Shell path: bash
我使用 Webstorm 和 Rubymine,就我而言,这就是我所要做的。
PS 请注意,Webstorm 更新 2018.2 最终为 Node 解释器引入了 WSL 的完全集成Webstorm 2018.2 WSL
另外,Rubymine 2018.2 大大改进了对远程 Ruby SDK 的支持(允许使用 rvm),所以现在它也超级容易使用 WSL/remote/containerized/dockerized Ruby envRubymine 2018.2 released
【讨论】:
【参考方案4】:设置: 设置 > 工具 > 终端 > 外壳路径
等于:
"C:\Users\<username>\AppData\Local\Microsoft\WindowsApps\ubuntu.exe" run
结果是:
【讨论】:
我不得不为 Ubuntu 20.04 稍作修改,例如"C:\Users\<user>\AppData\Local\Microsoft\WindowsApps\ubuntu2004.exe" run
或者,也可以使用 "ubuntu1804" 而不是完整的 shell 路径,这样也可以正常工作。
B.T.W 为什么要全局配置,因为每个项目可能有不同的外壳?此外,每个项目可能有一个不同的外壳,应该允许配置,一个窗口,一个 unix 等等。
在 WSL 中,您可以运行 Windows 路径上的 Windows 可执行文件,以及您可能需要的任何 Linux 工具。所以我强烈建议在任何地方默认使用它。 (至于为什么 JetBrains 不允许更精细的控制,我不知道)
我很困惑为什么每个人的配置都如此不同。这些都不是我的。这很复杂【参考方案5】:
以上答案均不适用于我将终端默认设置为zsh
,但这确实有效
在phpstorm
我已经将终端shell路径设置为bash.exe
工具>终端
外壳路径:bash.exe
然后在 .bashrc 我只是在末尾添加了命令
/usr/bin/zsh
现在phpstorm中的终端以zsh模式打开
【讨论】:
【参考方案6】:我发现了很好的提示。您不能更改默认终端。仅使用发布 forkadam
后的 2 个步骤先用命令找出默认的wsl:
C:\Windows\System32\wslconfig /list
Windows Subsystem for Linux Distributions:
Ubuntu-18.04
Legacy (Default)
然后我将默认设置为 Ubuntu-18.04 by
C:\Windows\System32\wslconfig /setdefault Ubuntu-18.04
之后拖放要在终端窗口中使用的文件夹。在 WebStorm 中,您可以使用上下文菜单中的“在终端中打开”,但在 Rider 中,只有拖放才能在具有特殊路径的 wsl 终端中打开。
【讨论】:
【参考方案7】:在我打开位于
\\wsl$\Ubuntu-20.04\home\my-user
.
Webstorm将shell路径设置为wsl.exe --distribution Ubuntu-20.04
我目前使用 Webstorm 版本 2020.3 EAP
【讨论】:
这是唯一更新的答案,其他答案没有错,但已过时。更多信息:blog.jetbrains.com/webstorm/2020/06/webstorm-2020-2-eap-3 同意。其他人都错了,但确切的路径和不同的命令从来都不是问题。 为我工作,谢谢兄弟,我在“文件 -> 设置 -> 工具 -> 终端 ->Shell 路径字段”中使用“wsl.exe --distribution Ubuntu”。【参考方案8】:您可以将终端设置为wsl
,无需路径。
添加--distribution
以使用默认以外的其他发行版。
如果您从发行版自己的文件系统打开一个项目,或者从终端启动 PHP Storm,这也是自动的,然后 ide 将使用正确的 WSL 发行版。
【讨论】:
使用 Webstorm 2020.3,将终端 shell 路径设置为wsl.exe
无需其他设置更改即可工作。我通过 Windows App Store 安装了 WSL 2 和 Ubuntu 20.04。
也可以追加用户从root更改,即--user john
【参考方案9】:
设置外壳路径
编辑 Windows 终端设置
ALT + F12
【讨论】:
【参考方案10】:如果您的 WSL 中有多个发行版并希望始终使用特定的发行版,只需添加一个答案:
-
使用
wslconfig /list
找出您拥有的 WSL 发行版并确定您要使用的发行版(在我的例子中是“CentOS7”)
-
在 JetBrains 产品的 Settings->Tools->Terminal 中,将 Shell 路径设置为
wsl.exe --distribution <whatever distro you choose>
。 CLion 中的示例:
点击应用然后确定。
【讨论】:
以上是关于如何在 WebStorm 或任何其他 JetBrains 产品中使用 WSL 作为默认终端?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows 上为 WebStorm 或 IntelliJ IDEA 使用 Mac OSX 键盘映射?