如何在 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 -> Terminalcmd.exe 更改为 C:\Windows\System32\bash.exe 并重新启动 Webstorm。

【讨论】:

它也适用于bash.exe 或更好的wsl.exe。我个性化了我的终端,而最新的终端得到了我的个性化。【参考方案3】:

在 Windows 16215 及更高版本上:

    安装 WSL 和您选择的 Linux 发行版(我选择了 Ubuntu 18.04)Windows support docs 将默认终端切换为bashSettings (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\&lt;user&gt;\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 &lt;whatever distro you choose&gt;。 CLion 中的示例:

点击应用然后确定。

【讨论】:

以上是关于如何在 WebStorm 或任何其他 JetBrains 产品中使用 WSL 作为默认终端?的主要内容,如果未能解决你的问题,请参考以下文章

如何使webstorm同时显示多个窗口

如何在 Windows 上为 WebStorm 或 IntelliJ IDEA 使用 Mac OSX 键盘映射?

如何更改 WebStorm 中现有文件的文件类型关联?

Webstorm 或 PhpStorm证书被占用如何解决

如何使用 IntelliJ 或 WebStorm 调试电子应用程序?

Vue通过命令行或使用WebStorm如何创建一个Vue项目