如何从WSL终端启动PyCharm?

4
有没有办法在wsl终端中通过像charm <file_name>pycharm <file_name>这样的命令来运行Pycharm,就像在vscode中输入code <file_name>一样?请注意保留HTML标签。

将PyCharm exe添加到您的路径中。它通常是类似于C:\Program Files\JetBrains\PyCharm installation folder\bin\pycharm64.exe的东西。但是,WSL无法执行Windows命令/ exes,因此这仅适用于Windows cmd。 - aneroid
我猜你是指 Windows 版本的 PyCharm?还是你指的是 Linux 版本? - NotTheDr01ds
2个回答

2
从这篇关于如何在WSL Linux shell中运行Windows 10程序的文章中,你已经可以从WSL运行Windows程序,例如notepad.exe。这是因为WSL路径中的程序似乎与Windows路径同步。你可以将PyCharm可执行文件的路径C:\Users\trakw\AppData\Local\JetBrains\Toolbox\apps\PyCharm-P\ch-0\221.5921.27\bin添加到路径变量中,重新启动WSL并运行pycharm64.exe以启动PyCharm。
如果你使用JetBrains Toolbox安装PyCharm,则包含批处理文件pycharm.cmd以运行PyCharm的路径C:\Users\trakw\jetbrains\bin已经在路径变量中。
在WSL中运行pycharm.cmd会出现错误,因为该文件是用批处理编写的,而WSL无法识别。你需要使用cmd.exe /c pycharm来运行它。
你可以将下面修改过的代码添加到WSL的~/.bashrc文件中,这样就可以运行cmd pycharm .了。
# Usage : cmd pycharm .
cmd() {
  CMD=$1
  OPEN=$2
  WIN_PWD=`wslpath -w "$(pwd)"`
  WIN_OPEN=`wslpath -w ${OPEN}`
  pushd /mnt/c;
  cmd.exe /c "${CMD} ${WIN_OPEN}"
  popd;
}

# Disable pushd echoing
pushd () {
    command pushd "$@" > /dev/null
}

# Disable popd echoing
popd () {
    command popd "$@" > /dev/null
}

仍然存在问题。在WSL中,使用cmd pycharm .可以处理在PyCharm中创建的\\wsl$项目。对于\\wsl$中的非项目文件夹,将会出现下面的错误。然而,在cmd中使用pycharm .可以处理任何目录。

enter image description here


现在pycharm.cmd的路径是C:\Users\<user>\AppData\Local\JetBrains\Toolbox\scripts,至少对我来说是这样的。 - Jeff Burka
对我来说太复杂了。我只是输入了 '/c/Program Files/JetBrains/PyCharm Community Edition 2022.3.2/bin/pycharm64.exe',然后魔法就发生了。 - Orwellophile

1

有趣啊。你是否真的尝试过运行 PyCharm? - ellockie
1
不行,因为我不使用Windows。但是一些同事向我展示了他们试图说服我改用Windows时的情况。 - Shalltear Bloodfallen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接