【问题标题】:An Eclipse console view that respects ANSI color codes?尊重 ANSI 颜色代码的 Eclipse 控制台视图?
【发布时间】:2011-09-11 07:36:23
【问题描述】:

ScalaTest 的输出被着色以区分不同的状态,但这些最终作为控制代码和

[34m Annoying garbage 

有什么方法可以说服 Eclipse 控制台尊重或忽略这些序列,或者插入一个视图来满足这些要求?

【问题讨论】:

    标签: eclipse console ansi


    【解决方案1】:

    这对我来说非常有用:

    https://marketplace.eclipse.org/content/ansi-escape-console

    只需安装它,它就会自动修改 Eclipse 的默认控制台的行为。 (您可以使用提供的按钮轻松禁用它。)

    我已经使用它来运行输出转义码以修改文本颜色的代码。它的行为完全符合预期。

    【讨论】:

    • 之前的回答有点老了,不过这个插件比较新,效果不错。
    • 我无法让它在 Eclipse 2020-12 上运行。那个按钮是什么?它在哪里?
    【解决方案2】:

    我在 Eclipse 中成功使用了这个插件 - ANSIConsole

    【讨论】:

    • @DuncanMcGregor 您没有正确切换复选标记这一事实是否表明它没有起作用?
    • 不抱歉,没有使用 Eclipse ATM
    • 优秀。像魅力一样工作,它使用常规的 Eclipse 控制台。比公认的答案容易得多。
    • 这似乎不适用于 ncurses;控制台理解一些转义码(例如更改文本颜色),但其他(包括 ncurses 打印的 initscr()endwin() 逐字打印。我认为我需要在将配置运行到 Ansi 控制台可以理解的内容,但 xtermansi 以及我尝试过的其他几个都不起作用。
    • 这似乎不适用于 jansi 库。添加 System.setProperty("jansi.passthrough", "true");使其工作并覆盖 jansi 的直通检测。
    【解决方案3】:

    【讨论】:

    • 此插件允许用户显示带有 shell 提示的彩色终端。但是,它似乎不允许用户将他们的程序输出定向到这个终端。
    【解决方案4】:

    Eclipse 的 Target Management Terminal 插件可以理解 ANSI 转义字符,包括颜色代码。我用它来运行sbtScalaTest

    最初的Target Management Terminal插件是为访问远程系统而设计的。但是,如果您在 Linux、Mac 或 Solaris 上运行,但不是 Windows,则可以使用 Local Terminal 插件,它增加了直接附加到本地 shell 或程序。

    安装本地终端插件会自动安装目标管理终端,所以你只需要安装本地终端:

    安装本地终端插件

    1. 从 Eclipse 菜单中选择 Help -> Install New Software...
    2. 为您的 Eclipse 版本选择主要更新站点(例如,Ganymede、Helios、Indigo)
    3. 选择通用工具 -> 本地终端
    4. 按照正常程序安装插件(点击下一步,接受许可,重启eclipse等)。

    如果您在 Local Terminal 插件不支持的平台上运行,您仍然可以通过 SSH 或 Telnet 使用 Target Management Terminal

    安装目标管理终端插件

    1. 从 Eclipse 菜单中选择 Help -> Install New Software...
    2. 为您的 Eclipse 版本选择主要更新站点(例如,Ganymede、Helios、Indigo)
    3. 选择移动和设备开发 -> 目标管理控制台
    4. 按照正常程序安装插件(点击下一步,接受许可,重启eclipse等)。

    使用

    1. 从 Eclipse 菜单中选择 Window -> Show View -> Other
    2. 选择终端 -> 终端 视图。
    3. 单击视图中的绿色连接按钮,然后输入详细信息以连接到本地系统。如果您安装了本地终端插件,则选项之一是“本地程序”。默认情况下,为您的本地 shell 定义了程序,但您可以设置其他程序。例如,我有一个 sbt 条目。

    如果您更习惯黑底白字,您可能希望:

    1. 打开 Eclipse 首选项
    2. 选择终端
    3. 检查反转终端颜色

    【讨论】:

    • 哇,我已经放弃了这个。感谢您光临!
    • 如何将 stdout 调用 System.out.println() 定向到此终端,而不是默认的 Eclipse 控制台?
    • @Mark:如果您提出一个新问题(而不是在评论中提问),您可能会更幸运地得到答案。
    • @Mark,查看ianinini 的答案。这适用于默认控制台。如果未指定,控制台字体和颜色保持默认;如果用 ANSI 转义,将着色。
    【解决方案5】:

    如何将你的输出重定向到一个文件,然后只是“tail -f”呢?类似这个问题:How can I make Eclipse output std:out to a standard windows console

    更新:Colorize logs in eclipse console 还列出了一些选项。即使这不起作用,它也可能是如何换出标准控制台插件的起点。

    【讨论】:

    • 如果可以的话,我想将输出保留在 Eclipse 中。
    • 谢谢詹姆斯!非常感谢!
    • 对此投反对票。问题是“尊重 ANSI 颜色代码的 Eclipse 控制台视图”。不是如何将 eclipse 输出通过管道传输到终端。
    猜你喜欢
    • 1970-01-01
    • 2015-04-25
    • 2011-03-17
    • 1970-01-01
    • 2015-01-10
    • 2021-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多