2

laravel artisan コマンドを使用すると、期待どおりのカラー出力が得られません。

http://laravel.com/docs/4.2/commandsを見ると、「出力をコンソールに送信するには、info、comment、question、および error メソッドを使用できます。これらの各メソッドは、適切な ANSI を使用します。色はその目的のために。」

しかし、端末minttyまたはcmdを使用すると、それらの色が得られません。

たとえば$this->error('Something went wrong!');、赤い背景のテキストを出力する必要があります。

この色の機能を得るには何が欠けていますか?

4

4 に答える 4

3

私はそれが古い答えであることを知っていますが、ここの他の答えは実際にはそれほど品質が高くありません


問題:

お気づきのように、ネイティブの Windows コマンド ラインは ANSI カラーをサポートしていません。ここでは、詳細と便利なリンクを含む別の SO 回答を見つけることができますが、重要な抜粋を次に示します。

ANSI.SYS は、NTVDM で実行される 16 ビット レガシ プログラム用の NT 派生システムでも機能します。

Win32 コンソールは、ネイティブでは ANSI エスケープ シーケンスをまったくサポートしていません。ただし、 Ansiconなどのソフトウェアは、標準の Win32 コンソールのラッパーとして機能し、ANSI エスケープ シーケンスのサポートを追加できます。

解決策(簡単):

アンシコン

抜粋で述べたように、ソフトウェア Ansicon は Windows 端末に ANSI カラーのサポートを追加するために使用されます。使用していませんが、既存のコンソールに機能を追加するようです。

ANSICON は、Windows コンソール プログラム用の ANSI エスケープ シーケンスを提供します。ANSI.SYS が MS-DOS に対して行うのとほぼ同じ機能を提供します。

ansiconつまり、 ANSI カラーコーディングが必要な場合は、コマンドを実行する必要があるようです。

たとえば、既定の色としてシアンに黒を使用して file.ans を表示するには、次のようにします。

ansicon -m30 -t file.ans

別の解決策(より簡単):

コマンド

コマンド実行中

ご覧のとおり、ANSI カラーをサポートしていますが、他にも多くの優れた機能が組み込まれています。一部の Unix 機能もエミュレートします。

Cmder は私の個人的なお気に入りです。

于 2016-09-13T14:45:38.750 に答える
0

パテを使ってみてください。Windows 用のフリーウェア ssh クライアントです。

于 2015-04-03T08:47:02.820 に答える