wsl.exe在eclipse本地终端自定义条目中总是出现多次

wsl.exe always appears multiple times in eclipse local terminal custom entries

在 windows 10 PC 上使用 eclipse 2021-06,当我打开本地终端时,它总是显示 wsl.exe 终端的多行,名称如下...

即使我去 eclipse Window -> Preferences -> Terminal -> Local Terminal 设置并删除这些自定义条目,它们仍然继续出现在列表中。

如何从 eclipse 中永久删除这些本地终端条目?

简答:

升级到最新的 Eclipse 版本应该可以解决这个问题。

更多详情:

我将在这里进行有根据的猜测,而不会(抱歉)尝试自己重现它。正如@howlger 在评论中提到的,2021-06 版本有点过时了。

发布时,WSL 基本上有两种状态:

  • 如果 Windows 中未启用 WSL 功能,则系统上没有 wsl.exe 二进制文件。
  • 启用 WSL 功能后,wsl.exe 命令可用。

因此 Eclipse 可能会检查 wsl.exe 和 运行 是否存在 wsl -l -q 命令以获取分发列表。

但是,在 Windows 21H2 版本和 Windows 11 中,WSL 行为都发生了变化。 wsl.exe 始终 存在,但在两种状态下运行:

  • 当 WSL 未启用时,wsl.exe 只是一个 enables/installs 它的工具(通过 wsl --install)。如果使用任何其他参数(如 wsl -l -q,Eclipse 可能就是这样)执行,那么它就是 return 的帮助。这就是您所看到的 - Eclipse 错误地解析了 help 输出并认为它是一个发行版列表。
  • 当启用 WSL 时,wsl.exe 成为 WSL 的实际 CLI 界面。

正如@howlger 在此答案的评论中也指出的那样,issue 已知并已修复。

如果由于某些奇怪的原因您无法升级,您几乎可以肯定地通过在打开或关闭 Windows 功能 中启用 WSL 来阻止问题的发生。如果您不安装任何发行版,那么 wsl -l -q 应该 return Eclipse 的空列表。

如果升级到最新的 Eclipse 不起作用(我认为这不太可能发生),那么您可能面临不同的问题,您可能需要向 Eclipse 团队报告。