バックグラウンド解析の設定

ユーザが入力するコードは、エラーを特定するために常に解析されます。エラーには赤い波線で下線が引かれます。

バックグラウンド解析が有効かどうかを問わず、エラー情報はプロジェクトのビルド中に生成されます。

注意:
バックグラウンド解析をオフにできますが、IDE 機能の多くがその解析に依存しています (Outline/Program アウトライン、色設定、Copy View など)。バックグラウンド解析をオフにするとこれらの機能は動作せず、予期せぬ問題の原因になります。
Eclipse 実行時にバックグラウンド解析をオフにするかまたは遅延させる
バックグラウンド解析は [Preferences] ダイアログ・ボックスでオフにできます ([Window > Preferences > Micro Focus > COBOL > Editor] を選択し [Background parsing] を選択解除します)。

解析はコードの編集中に入力操作を停止するとトリガされます。この停止時間はデフォルトで 500 ミリ秒です。[Background parsing] を選択したまま [Trigger delay] フィールドにより大きい値を入力することで、コードの解析頻度を低減し、多数のソース・ファイルを含んでいるプロジェクトの開発時にパフォーマンスを向上できます。

Eclipse 起動前にバックグラウンド解析をオフにする
Eclipse の起動時に、disable.cobol.indexing プロパティを使用してバックグラウンド解析をオフにします。
コマンド・ラインから Eclipse を起動する場合は、次のコマンドを使用してこれを行います。
 eclipse.exe -vmargs -Ddisable.cobol.indexing=true 
[スタート] メニューまたはショートカットから Eclipse を起動する場合は、eclipse.ini ファイルを編集し次の行
 -Ddisable.cobol.indexing=true 
-vmargs セクションに追加します。
特定のデータベースでバックグラウンド解析をオフにするか制限する
DB2、OpenESQL、XDB の処理に関連するコードのバックグラウンド解析を制限できます。これにより、これらのデータベースを使用する大規模なプロジェクトの開発時にパフォーマンスを向上できます。[Window > Preferences > Micro Focus > COBOL > Editor] を選択し、[DB2 Background Parse] ページ、[OpenESQL Background Parse] ページ、[XDB Background Parse] ページで任意の解析レベルを選択します。

基本のバックグラウンド解析では EXEC SQL 文構造の最小限のチェックが行われ、データベース接続は必要ありません。基本のチェックによって検出されないエラーは、実行時エラーの原因になります。

完全なバックグラウンド解析では、データベース・サーバを使用してより詳細なチェックを実行します。このチェックではコンパイル時により多くのエラーが検出される反面、より多くのリソースが必要です。小規模なプロジェクトおよびローカル・マシン上のデータベースへの接続で最も効果的に機能します。データベース接続の他に、アプリケーションが使用するデータベース・スキーマがある必要があります。

注:

COBOL インデクサはバックグラウンドのスレッドで実行し、すべてのプログラムをスキャンして各プログラムがどのコピーブックを使用するかを調べます。プログラムと考えられていたファイルが実際には使用されるコピーブックであることが判明した場合、ファイルの種類がコピーブックに変更されます。インデクサは、指令の決定時のみ、通常はファイルがプロジェクトに追加されるときのみに実行され、索引情報をビルド出力から収集します。これは場合により、以前リリースされた製品に比べて更新される情報に遅れが生じる反面、索引付けを実行する量が減りパフォーマンスが向上することを意味します。

バックグラウンド・パーサは、COBOL 索引付けスレッドで直接実行するか、またはプログラムを編集しているときエディタによって別途呼び出されるスレッドで実行します。デフォルトでは、入力操作を停止してから 0.5 秒後にエディタによって呼び出されます。[Editor] ウィンドウを初回開いたとき、.idy ファイルが見つかればバックグラウンド解析は実行されず、COBOL パースペクティブのビューに .idy ファイルからの情報が入力されます。

パーサは COBOL JVM プロジェクトでも使用されます。Java インデクサは、クラスについての情報 (メソッド宣言や内部クラスなど) が必要なときバックグラウンド・パーサを呼び出し、それらの情報が Java インデクサによってワークスペースにキャッシュされます。