バックグラウンド解析の構成

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

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

注意:
バックグラウンド解析をオフにできますが、IDE 機能の多くがその解析に依存しています (アウトライン/プログラム アウトライン、色設定、コピー表示など)。バックグラウンド解析をオフにするとこれらの機能は動作せず、予期せぬ問題の原因になります。
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 > Database] を選択し、[DB2 Background Parse] ページ、[OpenESQL Background Parse] ページ、[XDB Background Parse] ページで任意の解析レベルを選択します。

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

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

注:

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

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

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