2012-03-01 8 views
3

デフォルトのMSBuildロガーは、コンソールウィンドウでデフォルトの黒い背景を使用している場合に、コンソールウィンドウで出力行を色分けして表示します。私は、コンソールウィンドウ内の灰色の背景に黒いテキストを使用して私の目には簡単に感じる。 (白い黒は明るすぎます)デフォルトのMSBUILDロガーで使用される色を変更できますか?

私たちのプロジェクトでMSBUILDを実行すると、出力は現在、一部の行でグレーで読みにくいシアン色になります。黄色と赤の線はそれほど悪くはありません。

デフォルトのMSBUILDロガーで使用される色をカスタマイズする方法はありますか? VS2010にインストールされているファイルのXMLファイルを調整するのはどうですか? (VS2010を使用しています)

MSBUILDパラメータ "consoleloggerparameters"が見つかりましたが、このような機能は提供されていません。

このようなカスタマイズを可能にするサードパーティのカスタムロガーがありますか、独自のカスタムロガーを唯一のオプションとして作成していますか? (できますが、時間がかかることはありません)

+0

は、PowerShellの]オプションを使用していますか? [リンク](http://stackoverflow.com/a/9513340/147211) – KMoraz

+0

おそらく。これはどうしたらうまくいくのでしょうか?色の変更や色の変更を行う方法(「すべてのシアンの出力をコンソールにする」) – RobDavenport

+0

これに私のショットを掲載しました。 PowerShellのスクリプタは、私が想定しているよりうまくいくでしょう。 – KMoraz

答えて

2

色は基本的にハードコードされています。 MSBuild 4.0を使用して何ができるのかは、(/clpオプションの詳細については、MSBuild.exe /?を実行してください)を呼び出すときに、オプションを使用して色を完全に無効にします。古いMSBuildのバージョンではMSBuild.exe arguments 2>&1| findstr /r ".*"を使用できます。詳細はthis答えを参照してください。

あなたは異なった色を持っているしたい場合は、あまりにも難しいことではありませんこれは、あなたのown (console) loggerを実装し、その(デフォルトのコンソールロガーをオフにする/noconsoleloggerと組み合わせ/logger:オプションを、)を使用する必要があります。 PowerShellのを使用して

+0

ありがとうございます。私はそれを恐れていた。 (しかし、誰もが黒いコンソールウィンドウを好きではない::)将来のバージョンではおそらく。色付きの出力が好きなので、無効にしたくないので、変更してください。私はKMorazのpowershellスクリプトを試してみて、それがどのように私のために働くのか見てみましょう。 – RobDavenport

+0

あなた自身のロガーを書くための例は理解できるように見えますが、私はそれも見なければなりません。リンクありがとう。 – RobDavenport

0

は、私はPS愛好家がより良いスクリプトを提供することができたとします

# 
# Run MSBuild With Custom Color.ps1 
# 
msbuild C:\some_path\your.sln | foreach-object -process { 
    switch ($_){ 
     { $_.tolower().contains("warning")} {Write-Host $_ -foregroundColor DarkBlue} 
     { $_.tolower().contains("error")} {Write-Host $_ -foregroundColor DarkRed} 
     default {Write-Host $_ -foregroundColor Black} 
    } 
} 
+0

ありがとう、KMoraz、私はそれを試してみましょう。 – RobDavenport

関連する問題