问题是当我通过Kubuntu Konsole应用程序启动dev-server时,调试输出是彩色的:
但是我在PyCharm中通过内置的“Run”或“Debug”启动它,PyCharm控制台中的输出全部为红色:
有没有办法让PyCharm的输出变为彩色?因为我在“设置”中找不到任何相关内容。
UPD:链接到PyCharm问题跟踪器上的问题
正如我看到一些人对这个问题进行投票,所以这里是PyCharm问题跟踪器上这个问题的链接 - qazxsw boi。如果您将投票支持此功能,它将更快发布!
这是因为PyCharm的开发控制台没有使用与普通shell终端相同的标准来显示颜色(它们是两个非常不同的东西)。
PyCharm的输出控制台只是一个命令显示(它不是一个完整的shell,带有本地终端模拟器的所有铃声和口哨声)。
您可以将终端嵌入到PyCharm中(请参阅youtrack.jetbrains.com/issue/PY-19790了解如何设置它),但这样做不允许您将内置运行命令的输出重定向到终端窗口。它将使您能够在那里运行任意shell命令,并避免切换到终端控制台。
请记住,如果您有任何特殊的外壳自定义或字体/字形,这些可能无法在嵌入式终端中正确显示,因为它使用的是一组不同的字体和配置。
您可以尝试将其作为documentation的增强功能提升;如果获得足够的票数,它可能会进入下一个版本。
前段时间我写了一段代码片段,为我做了一件事。这不是一个完美的解决方案,但可以解决问题。 PyCharm bug tracker
要使用它:
readme
try: # Colored logger CaaS. Auto downloaded and verified.
import os
import hashlib
from urllib import request
url, sha256 = "https://lab.it.hs-hannover.de/lukyanch/pydevutils/raw/c531eaf7/colored_logger.py", "083e1a39cfdbe17a7126188b5477fb8f324be8106a39ed4a00faeb3f18c5aedc"
cached_file = "/tmp/{0}.py".format(sha256)
code = bool(os.path.exists(cached_file) or [request.urlretrieve(url, cached_file), print("Downloaded: " + url)]) and open(cached_file, "r").read()
assert hashlib.sha256(code.encode()).hexdigest() == sha256, os.remove(cached_file) or "Bad content: " + cached_file
exec(code)
except Exception as e:
print("No colored logger: {e.__class__.__name__}: {e}".format(e=e))