【问题标题】:Set up path on prompt on pycharm terminal windon在 pycharm 终端窗口中设置提示路径
【发布时间】:2017-05-03 11:48:57
【问题描述】:

我只是将pycharm升级到2016.3.1。在升级之前,在终端窗口的提示下查看当前目录路径没有问题。升级到 pycharm 2016 后 3.1。由于某种原因,终端窗口上提示的所有目录路径似乎都与133;C;133;D;01337;RemoteHost=hawkins@pc_name.home1337;CurrentDir=/Users/hawkins/path133;MAC:path hawkins$ 133;B 混淆了。任何人都有解决此问题的经验吗?

MAC:path$
133;C;133;D;01337;RemoteHost=hawkins@pc_name.home1337;CurrentDir=/Users/hawkins/path133;MAC:path hawkins$ 133;B
133;C;133;D;01337;RemoteHost=hawkins@pc_name.home1337;CurrentDir=/Users/hawkins/path133;MAC:path hawkins$ 133;B
133;C;133;D;01337;RemoteHost=hawkins@pc_name.home1337;CurrentDir=/Users/hawkins/path133;MAC:path hawkins$ 133;B

【问题讨论】:

    标签: macos terminal pycharm prompt


    【解决方案1】:

    我遇到了类似的问题。原来我的问题是由于安装了 iTerm shell 集成。 当您标记问题 [osx] 时,我假设您也可能已经这样做了。

    对于这些奇怪符号在这个答案中的含义有一个很好的解释:https://unix.stackexchange.com/a/294886/47407

    我想我可以通过清除我的PROMT_COMMAND 并再次设置PS1 来避免卸载Shell Integration。我制作了一个名为pycharm_terminal.sh 的shell 脚本,内容如下

    export PROMT_COMMAND=
    export PS1="\[\e[31m\]\u\[\e[0m\] at \[\e[33m\]\h\[\e[0m\] in \[\e[32m\]\w\[\e[0m\] at [\A] \[\033[31m\]`git branch 2> /dev/null | grep -e ^* | sed -E  s/^\\\\\*\ \(.+\)$/\(\\\\\1\)\ /`\[\033[35m\]\n$ \[\033[00m\]"
    bash -i
    

    PS1 变量可以设置为您以前的任何值。这就是我喜欢我的方式。

    现在,在 PyCharm 设置中:转到工具 > 终端并在“Shell 路径”中将其设置为 /bin/bash <path_to_pycharm_terminal.sh>

    现在尝试在 PyCharm 中打开一个新终端。它不应该有那些控制字符错误。

    【讨论】:

    • 可以按照此链接中的说明进行补救:alexkras.com/remove-shell-integration-from-iterm2 只需删除它放置在 ~/ 中的文件并删除添加到 ~/.bash_profile 的条目(无论如何在 OSX 上)
    • 是的,但是如果你想在你常用的终端上集成 iTerm Shell,而不是在 PyCharm 终端上,你必须做一些解决方法而不是直接删除它。
    • 哦,是的,当然,如果人们想在 pycharm 中摆脱它,这是一种简单的方法
    【解决方案2】:

    出于某种原因,我通过在用户目录下创建一个 .pycharmrc 来解决这个问题 并在 shell 路径上的 Tool->Terminal 下设置/usr/local/bin/bash --rcfile ~/.pycharmrc。好像已经修复了,但我不知道为什么

    MAC: path$ cat ~/.pycharmrc
    exec bash
    

    【讨论】:

    • 如果你把它添加到Preferences > Tools > Terminal > Shell path 很有可能会破坏你在 PyCharm 中的终端。在更改之前记录值。我的是/bin/bash
    【解决方案3】:

    这对我有用:

    • 使用一个命令创建了新文件 pycharm_terminal.sh bash -l
    • 然后我将 PyCharm 设置:设置为工具 > 终端,并在“Shell 路径”中将其设置为 /bin/bash/path_to_pycharm_terminal.sh。
    • 重启 PyCharm,一切正常

    bash -l,按人来说,是:-l Make bash act as if it had been invoked as a login shell (see INVOCATION below).

    这可能意味着,当 PyCharm 启动终端并使用 bash -l 执行 pycharm_terminal.sh 时,默认情况下包含 .bash_profile 中的所有内容

    【讨论】:

      【解决方案4】:

      对我有用的解决方案:

      1. 转到设置 > 插件
      2. 找到插件“Python Terminal”并禁用它
      3. 重启 PyCharm

      我注意到的唯一负面影响 - 在终端启动时自动激活 virtualenv 不起作用。

      【讨论】:

        【解决方案5】:

        在尝试解决 mac osx 上“Geany”的类似问题时发现了这个问题。我在我的机器上安装了 iterm2 并且在终端提示符前得到了垃圾。

        KPLauritzen 提供的类似解决方案也适用于“Geany”终端。

        希望这对某人有所帮助:

        1. 使用所需的 PS1 和 CLICOLOR 设置在主目录中创建 shell 脚本:

          ~/geany_terminal.sh

          导出 PROMT_COMMAND= 导出 PS1='[\e[1;32m][\u@\h \W] \D{%F %T}\n\$[\e[0m]' 导出 CLICOLOR=1 导出 LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx bash -i

        2. 然后我转到“编辑 -> 首选项 -> 终端”并将我的“外壳”设置为: /bin/bash /Users/myusername/geany_terminal.sh

        重新加载 Geany 后,终端现在显示的 PS1 和 CLICOLOR 设置与我在 .bash_profile 中设置的完全一样,前面没有垃圾。

        【讨论】:

          【解决方案6】:

          你可以激活你的.bash_profile

          /bin/bash --rcfile ~/.bash_profile
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2013-10-06
            • 2011-01-18
            • 1970-01-01
            • 2020-09-23
            • 2014-08-23
            • 1970-01-01
            • 2019-03-11
            相关资源
            最近更新 更多