Visual Studio プロジェクトの構成

Micro Focus では、Visual Studio でプロジェクトを構成する際の推奨事項として、以下を提案しています。

IDE 設定を使用してコンパイラ指令を指定する

Enterprise Developer のプロジェクトおよびファイルの IDE プロパティ ページには、広範な COBOL およびメインフレーム サブシステム固有の設定が用意されています。

IDE 設定は、簡単に編集でき、移植も簡単です。この設定を使用してプロジェクトを構成すると、Visual Studio 内でもコマンド ラインでも、この設定が適用されます。

コンパイラ指令を設定する際は、他の方法よりも、IDE プロパティ ページを使用することをお勧めします。具体的には、次のことを避ける必要があります。

  • COBOL プロジェクト ファイル .cblproj を手動で編集する。
  • .bat ファイルとビルド スクリプトを混在させる。
  • 指令に対する IDE 設定が存在する場合に、ファイルまたはプロジェクトのプロパティの [Additional Directives] にコンパイラ指令を手動で入力する。代わりに、GUI 設定を使用してください。

    GUI コントロールと [Additional Directives] の両方を使用して同じ指令を設定すると、問題が起こる原因となります。

    たとえば、プロジェクト レベルで [Additional Directives] に CICSECM を手動で入力できます。同時に、ファイルの GUI コントロールで [None] に設定することもできます。その結果、どの設定が実際に適用されるのか判断しにくくなります。

    対応する IDE 設定が存在しない場合にのみ、[Additional Directives] に指令を指定する必要があります。

ソース ファイルで $SET 文を使用しないようにする

ソース ファイルで $SET 文を直接設定しないでください。代わりに、IDE 内のプロジェクトのプロパティ ページを使用して、対応するコンパイラ指令を設定してください。これは次の理由によります。

  • コード内の $SET 文は把握しにくく、特に多数のファイルを使用している場合には確認が困難になります。
  • Visual Studio では、プロジェクト レベルまたはファイル レベルで指定されている指令が可視化されます。ただし、コード内にある $SET 文は表示されません。そのため、GUI プロパティを使用して設定されたものとは異なるコンパイラ指令がソース コード内の $SET 文で設定されていると、予期しない動作が発生する可能性があります。

コンパイラ指令を含む外部ファイルは使用しない

必要なコンパイラ指令を格納するために外部ファイル (.dir など) を使用することは避けてください。これは次の理由によります。

  • Visual Studio 内から .dir ファイルの内容を簡単に確認する方法はありません。複数のプロジェクトがあるシナリオでは、どのプロジェクトで指令ファイルが使用されているのかが、わかりにくくなります。
  • プロジェクトのプロパティとして指定された指令と .dir ファイル内で指定された指令が混在していると、混乱の原因になります。

Open Folder を使用して開いたファイルのプロパティを指定する

Open Folder 機能を使用してソース ファイルをロードする場合、ファイルの場所に作成される .json は編集しないでください。代わりに、ワークスペース、フォルダー、またはファイルの GUI プロパティ ページを使用してコンパイラ指令を指定してください。

それらの GUI プロパティ ページで、対応する GUI プロパティがすでに存在する場合は、[Additional Directives] フィールドにコンパイラ指令を手動で入力しないでください。