Eine Eclipse-Konsolenansicht, die ANSI-Farbcodes berücksichtigt?

74

Die Ausgabe von ScalaTest ist farbig, um verschiedene Zustände zu unterscheiden. Diese werden jedoch als Steuercodes und angezeigt

[34m Annoying garbage 

Gibt es eine Möglichkeit, die Eclipse-Konsole davon zu überzeugen, diese Sequenzen entweder zu respektieren oder zu ignorieren oder eine entsprechende Ansicht einzufügen?

Duncan McGregor
quelle

Antworten:

101

Ich verwende dieses Plugin erfolgreich für Eclipse - ANSIConsole

thegreendroid
quelle
6
Sicher weniger Schmerzen als die akzeptierte Antwort, wenn es bei mir funktioniert, danke.
Duncan McGregor
@DuncanMcGregor Bedeutet die Tatsache, dass Sie das Häkchen nicht richtig geschaltet haben, dass es nicht funktioniert hat?
Tobias Kienzler
Nein, tut mir leid, ich benutze Eclipse ATM nicht
Duncan McGregor
1
Ausgezeichnet. Funktioniert wie ein Zauber und verwendet die reguläre Eclipse-Konsole. Viel einfacher als die akzeptierte Antwort.
Damien
1
Dies scheint mit der Jansi-Bibliothek nicht zu funktionieren. Add System.setProperty ("jansi.passthrough", "true"); damit es funktioniert und jansis Passthrough-Erkennung außer Kraft gesetzt wird.
Eisenknurr
28

Das Target Management Terminal- Plugin für Eclipse versteht ANSI-Escape-Zeichen, einschließlich Farbcodes. Ich benutze es zu laufen sbtmit ScalaTest.

Das ursprüngliche Plugin für das Target Management Terminal wurde für den Zugriff auf Remote-Systeme entwickelt. Wenn Sie jedoch unter Linux, Mac oder Solaris, jedoch nicht unter Windows arbeiten , können Sie das Plugin für lokales Terminal verwenden, mit dem Sie eine direkte Verbindung zu einer lokalen Shell oder einem lokalen Programm herstellen können.

Installieren der lokale Terminal - Plugin installiert automatisch das Ziel Management Terminal , so dass Sie nur den lokalen Terminal installieren müssen:

Installieren des lokalen Terminal- Plugins

  1. Wählen Sie im Eclipse-Menü Hilfe -> Neue Software installieren ...
  2. Wählen Sie die primäre Update-Site für Ihre Version von Eclipse aus (z. B. Ganymede, Helios, Indigo).
  3. Wählen Sie Allgemeine Tools -> Lokales Terminal
  4. Befolgen Sie die normalen Anweisungen, um das Plugin zu installieren (klicken Sie auf Weiter, akzeptieren Sie die Lizenz, starten Sie Eclipse neu usw.).

Wenn Sie auf einer Plattform nicht durch die unterstützt werden , laufen lokalen Terminal - Plugin, können Sie immer noch verwenden Ziel Management Terminal mit SSH oder Telnet:

Installieren des Target Management Terminal- Plugins

  1. Wählen Sie im Eclipse-Menü Hilfe -> Neue Software installieren ...
  2. Wählen Sie die primäre Update-Site für Ihre Version von Eclipse aus (z. B. Ganymede, Helios, Indigo).
  3. Wählen Sie Mobile and Device Development -> Target Management Console
  4. Befolgen Sie die normalen Anweisungen, um das Plugin zu installieren (klicken Sie auf Weiter, akzeptieren Sie die Lizenz, starten Sie Eclipse neu usw.).

Verwenden von

  1. Wählen Sie im Eclipse-Menü Fenster -> Ansicht anzeigen -> Andere
  2. Wählen Sie die Ansicht Terminal -> Terminal .
  3. Klicken Sie in der Ansicht auf die grüne Schaltfläche Verbinden und geben Sie Details ein, um eine Verbindung zu Ihrem lokalen System herzustellen. Wenn Sie das Local Terminal-Plugin installiert haben, ist eine der Optionen "Lokales Programm". Standardmäßig ist ein Programm für Ihre lokale Shell definiert, Sie können jedoch auch andere einrichten. Zum Beispiel habe ich einen Eintrag für sbt.

Wenn Sie eher an Weiß auf Schwarz gewöhnt sind, möchten Sie vielleicht:

  1. Öffnen Sie die Eclipse-Einstellungen
  2. Wählen Sie Terminal
  3. Aktivieren Sie die Option Terminalfarben umkehren
Jim Hurne
quelle
1
Wow, ich hatte diesen aufgegeben. Vielen Dank für Ihren Besuch!
Duncan McGregor
Wie kann ich System.out.println()die Standardaufrufe an dieses Terminal und nicht an die Standard-Eclipse-Konsole weiterleiten?
Mark
1
@Mark: Vielleicht haben Sie besseres Glück, eine Antwort zu erhalten, wenn Sie eine neue Frage stellen (anstatt einen Kommentar abzugeben).
Jim Hurne
@ Mark, überprüfen Sie die Antwort von Ianinini. Das funktioniert in der Standardkonsole. Wenn nicht angegeben, bleiben die Schriftart und Farbe der Konsole Standard. Wenn mit ANSI entkommen, wird eingefärbt.
WesternGun
10

Das funktioniert hervorragend für mich:

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

Installieren Sie es einfach und es ändert automatisch das Verhalten der Standardkonsole von Eclipse. (Sie können es einfach mit einer mitgelieferten Schaltfläche deaktivieren.)

Ich habe dies zum Ausführen von Code verwendet, der Escape-Codes ausgibt, um die Textfarbe zu ändern. Es verhält sich genau wie erwartet.

Ianinini
quelle
Die vorherigen Antworten sind etwas alt, aber dieses Plugin ist neuer und funktioniert gut.
GiZm0
4

Sie können dieses Plugin verwenden: http://code.google.com/p/elt/

Siehe http://alexruiz.developerblogs.com/?p=2428

nafg
quelle
Mit diesem Plugin kann der Benutzer ein farbfähiges Terminal mit einer Shell-Eingabeaufforderung anzeigen. Es scheint dem Benutzer jedoch nicht zu erlauben, seine Programmausgabe an dieses Terminal zu leiten.
Psychonaut
1

Wie wäre es, wenn Sie Ihre Ausgabe in eine Datei umleiten und sie dann einfach "tail -f"? Ähnlich wie bei dieser Frage: Wie kann ich Eclipse-Ausgabe std: out an eine Standard-Windows-Konsole senden?

Update: Unter Colorize-Protokolle in der Eclipse-Konsole sind auch einige Optionen aufgeführt . Auch wenn dies nicht funktioniert, kann dies ein Ausgangspunkt für das Austauschen des Standard-Konsolen-Plugins sein.

James Scriven
quelle
1
Wenn ich kann, möchte ich die Ausgabe in Eclipse behalten.
Duncan McGregor
Danke James! Sehr geschätzt!
Hendy Irawan
1
Stimmen Sie darüber ab. Die Frage lautete "Eine Eclipse-Konsolenansicht, die ANSI-Farbcodes berücksichtigt". Nicht, wie Eclipse-Ausgabe in ein Terminal geleitet wird.
Kevin Parker