Ich möchte die von sbt/play geloggten Farb-Escape-Codes deaktivieren. Ist das möglich? Und wenn ja, gibt es eine Möglichkeit, dies zu tun, ohne Änderungen an der Konfiguration vorzunehmen - z. B. über einen Befehlszeilenschalter oder eine Systemeigenschaft.Wie kann der farbige Terminalausgang für sbt/play deaktiviert werden?
Antwort
Sie können das System einfach Eigenschaft sbt.log.noformat
zu true
. Wenn Sie z.B. verwenden SBT innerhalb Vim Sie ein Skript wie folgt erstellen:
#!/bin/bash
java -Dsbt.log.noformat=true $JAVA_OPTS -jar "${HOME}/bin/sbt-launch.jar" "[email protected]"
Das funktioniert perfekt. Vielen Dank. –
Dies funktioniert auch als Argument für sbt selbst: 'sbt -Dsbt.log.noformat = true', und wenn Sie [sbt" den Rebellenschnitt "verwenden] (https://github.com/paulp/sbt-extras) , können Sie das Argument '-no-colors' verwenden. – tobym
Das funktioniert auch für 'play'. – jilen
Nun können Sie bekommen Farben auf Windows durch Installation von Cygwin und Leiten Sie diesen Parameter:
-Djline.terminal=jline.UnixTerminal
Also würde ich jline Parameter schauen, um zu sehen, was eine Farbcodierung deaktiviert.
Ar Sie mit RXVT oder Minze? Unter Standard-Cygwin-Konsole mit cmd.exe bekomme ich diese Art von Ausgabe: '← [0m [← [0minfo ← [0m] ← [0mBauprojekt '... – huynhjl
@huynhjl Nein, ich habe nie versucht, diesen Tipp zu bekommen Arbeit. Ich bin allerdings etwas überrascht von der Ausgabe. Was ist der Wert von TERM? –
TERM ist auf Cygwin eingestellt. Der größte Ärger, den ich jetzt bei Cygwin habe, ist, dass Multi-Line-Editing nicht funktioniert (sobald es umgebrochen ist, kann ich nicht zurückgehen und die vorherige Zeile mit dem richtigen visuellen Feedback bearbeiten). Ich habe herausgefunden, dass jline unter cygwin mit ansi code auf win32 nicht umgehen kann. Also ich war daran interessiert zu sehen wie die farbe mit sbt gearbeitet hätte .. – huynhjl
Das klingt, als ob Ihre Plattform nicht mit der tatsächlichen Eigenschaft jline.terminal übereinstimmt. Ich rate nur hier, aber wenn ich den Parameter übergebe, wie Daniel in einer Windows-Befehlszeile vorgeschlagen habe, sehe ich auch die farbigen Escape-Codes.
Daher müssen Sie sicherstellen, dass die Eigenschaft mit Ihrer Plattform übereinstimmt, d. H. WindowsTerminal unter Windows und UnixTerminal unter Unix.
Wenn dies nicht hilft, dann könnten Sie auf einer nicht unterstützten Plattform sein, in dem Fall der website zu verwenden, schlägt vor:
-Djline.terminal=jline.UnsupportedTerminal
Sorry um klarzustellen, es ist nicht so, dass die Farbgebung nicht funktioniert, nur dass ich das deaktivieren möchte. @ Moritz 'Antwort hat mir geholfen. –
konnte ich farbige Ausgabe von SBT in Cygwin erhalten durch Zugabe von:
-Djline.terminal=jline.UnixTerminal
Zusätzlich habe ich herausgefunden, dass ich auch hinzufügen, benötigt die folgende Zeile zu Cygwin.bat:
set CYGWIN=tty ntsec
Danach ist hinzugefügt SBT sehr schöne farbige Ausgabe. Außerdem würde ich auf der Suche in Console2 empfehlen, da es durch Cygwin kann Haken, bietet aber eine viel bessere Schnittstelle meiner Meinung nach:
Ich habe mit console2 und cmd und dort versucht Es gibt ein paar Probleme: Tab-Vervollständigung funktioniert nicht, Backspace funktioniert nicht, Ausnahme Ungültiger Terminal-Typ: jline.UnixTerminal beim Starten der Konsole – OlegYch
Seit Version 0.13.8
(und möglicherweise auch früher) können Sie jetzt einfach nutzen die -no-colors
Option sbt. z.B.
sbt -no-colors test
Dies ist eine bessere Antwort als die angenommene Antwort, wenn Sie eine neuere Version von sbt – ishaaq
verwenden der Punkt, die beiden Befehle zu haben? 'Abhängigkeiten' ist nicht einmal ein gültiger sbt Befehl in meinem sbt Setup. – matanster
Funktioniert nicht für mich (Mac OSX mit sbt 0.13.9) –
Betrachten Sie Steven Shaws jetzt akzeptieren? – samthebest