Visual COBOL では、プロジェクトがビルドを終了したときに MSBuild ユーティリティを使用してコード分析を実行できます。MSBuild コマンド ラインでは、多数のスイッチおよびパラメーターを使用してその動作を調整できます。
コマンド ラインからコード分析を構成および実行するには、次の 2 つの方法があります。
たとえば、/p:RunMicroFocusCodeAnalysisAfterBuild=true で MSBuild を実行すると、コード分析がプロジェクトのプロパティで有効になっているかどうかに関係なくビルドの後にコード分析を実行することが指定されます。
また、/p:ActiveRulesets="Coding Standards" で MSBuild を実行すると、IDE で有効にしたコーディング標準ルール セットのルールが使用されます。
これらのコマンド ライン パラメーターを使用すると、IDE を使用してプロジェクトをビルドする方法を変更せずにコマンド ラインでコード分析ジョブを作成および実行できます。
プロジェクトをビルドし、コマンド ラインから MSBuild を使用してコード分析を実行するには、次の手順を実行します。
msbuild [path]MyProject.cblproj [Code-analysis-parameters]
コード分析の実行に任意のパラメーターを指定した場合、MSBuild はビルドの完了後にコード分析を実行します。コード分析の出力は、ビルドからのメッセージの後、コマンド ライン ウィンドウに表示されます。
コマンド ラインからコード分析を実行するには、MSBuild コマンドを実行してコード分析のパラメーターを指定します。
msbuild [path]MyProject.cblproj [Code-analysis-parameters]
Code-analysis-parameters を指定しない場合、MSBuild は IDE で指定したコード分析の設定とプロジェクトのプロパティで指定したコード分析の設定を使用します。
MSBuild は、コマンド ラインでさまざまなスイッチおよびパラメーターをサポートしています。コード分析を使用するためのスイッチは/p で、次の構文を使用して各種プロパティを指定できます。
msbuild [path]MyProject.cblproj /p:property1=value1;property2=value2;...
または
msbuild [path]MyProject.cblproj /p:property1=value1 /p:property2=value2...
次に例を示します。
msbuild Myproject.cblproj /p:CodeAnalysisResultsAsErrors=true;RunMicroFocusCodeAnalysisAfterBuild=true;ActiveRulesets="Coding Standards"
Visual COBOL には、MSBuild の/p スイッチとともに使用する次のコード分析プロパティが用意されています。
このプロパティを指定しない場合、MSBuild はプロジェクトのプロパティで設定したコード分析プロパティを使用します。コード分析がプロジェクトで有効になっていない場合、MSBuild はビルドのみを実行し、プロジェクトの分析は実行しません。
このプロパティを指定すると、IDE で設定したコード分析プロパティはすべて無視されます。これにより、IDE 内からのビルドの実行時にコードが構成される方法とは異なるコマンド ライン固有のコード分析ジョブを実行することができます。サポートされているオプションは次のとおりです。
次に例を示します。
/p:ActiveRulesets="Coding Standards;Within Entire Program"
コード分析の実行時に Microsoft 独自の MSBuild スイッチおよびプロパティを使用できます。たとえば、次のように /maxcpucount スイッチを使用できます。
/p スイッチとともに使用できる Microsoft プロパティの一部を次に示します。
たとえば、これをErrorAndStop に設定すると、コード分析時に発生したエラー (内部エラーによる分析の失敗) またはエラーとしてレポートされた分析結果 (TreatWarningsAsErrorsを参照) により、実行が停止します。
コマンド ラインからの MSBuild の使用に関する詳細は、Visual Studio のヘルプを参照してください。
コマンド ラインからのコード分析結果は、すべてのビルド メッセージとともにコマンド プロンプト ウィンドウに表示されます。
メッセージは、次の書式で構成されています。
[ファイル名およびフル パス] [ファイル内の場所 (開始業, 列, 終了業, 列)] : [エラー メッセージ (エラー/警告 + 出力コード)] : [ルール セット名] : [ルール] : [その場所が参照しているコード スニペット]
次に例を示します。
C:\Tutorials\Projects\MyProject\MyProgram.cbl (14,8,14,33): warning MFCA0001 : Within Entire Program : Dead Statements : display "Some Message"