在Eclipse控制台中如何获取回车而不带有换行效果?

29

如果我

System.out.print("something\r");

在控制台,我把光标移动到行首,最终...

System.out.print("something\r");
System.out.print(" any\r");

我有

 anything

键入。

但在Eclipse控制台上,我得到了以下输出:

something
 anything

好像它把 \r 当作 CR/LF 来处理。

我该如何设置这个?


11
看起来是一个未解决的错误。https://bugs.eclipse.org/bugs/show_bug.cgi?id=76936 - user2030471
2
虽然我能理解这个的用途,但我想知道为什么你需要它在Eclipse中工作。这可能有些不方便,但我想在某个时候你只是需要在控制台窗口中测试它,毕竟那才是它最终执行的地方。Eclipse可以运行外部程序进行测试 - 我经常这样做,因为我的程序通过.bat文件运行。(很抱歉我不能提供更多帮助。:/) - Tustin2121
4个回答

21

正如Nishant在评论中指出的那样,您发现了一个漏洞

这个漏洞最初是在2004年报告的(已经超过9年了!?!!),这个漏洞似乎不会很快被修复(或者根本不会)。我在几个Eclipse版本上测试过它,甚至在Eclipse Juno SR2上也测试了一下,漏洞仍然存在。


3
无法在Eclipse Neon Release(4.6.0)(Build id:20160613-1800)中运行。 - TuringTux
截至Eclipse 2020-03版本,该bug仍然存在。我猜有些bug就像字面上的蟑螂一样顽固! - ViceroyFaust
错误已经修复。请查看另一个答案。 - Nathan

13
现在该问题已经被修复了(Eclipse 2020-03)。请按以下步骤操作:

步骤一:

Window ➺ Preferences ➺ Run/Debug ➺ Console

步骤二:

确保两个复选框都已启用:

Interpret ASCII control characters

以及

Interpret Carriage Return (\r) as control character

1
太棒了。他们只用了16年。 - symbiont

3

终于在Mars上解决了这个问题!

Version: Mars Release (4.5.0)
Build id: 20150621-1200
Used Java: jre1.8.0_60

您的代码

public class Main {

    public static void main(String[] args) {
        System.out.print("something\r");
        System.out.print(" any\r");
    }
}

输出

 anything

9
版本:Mars.1 发布版(4.5.1) 构建ID:20150924-1200输出: 某物 任何东西 - Dane411
4
似乎在Neon中无法工作。版本:Neon.3 Release (4.6.3) Build id: 20170314-1500。 - DAB
奇怪的问题:我该如何让它再次将"\n"视为"\r\n"?(Oxygen版本) - Zeta.Investigator
某个时间点修复了错误,但由于一些问题又被撤销了 - https://bugs.eclipse.org/bugs/show_bug.cgi?id=76936#c72。现在它不起作用。版本:Oxygen Release(4.7.0)构建ID:20170620-1800。 - newsha
Eclipse Photon 4.8.0 (20180619-1200) 又出问题了。 - Spotlightsrule

0
将鼠标指针移动到控制台区域, 点击鼠标右键,弹出菜单。 点击“首选项...”选项。 勾选“将回车符(\r)解释为控制字符”框。 点击“应用并关闭”按钮。

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