COBOL エディターでの編集支援

コンテンツ アシストは、エディターで COBOL コードを入力するための古コンテキスト依存の提案を提供する Eclipse 機能です。Enterprise Developer では、ネイティブ COBOL とマネージ COBOL の両方にコンテンツ アシストを使用できます。

IDE 内の [Window > Preferences > Micro Focus > COBOL > Editor > Content Assist] でコンテンツ アシストの設定を変更し、挿入される語の大文字小文字、提案リストを表示するか、1 つの提案を自動的に挿入するかどうか、提案を上書きモードで、あるいは挿入として追加するかどうかなどのオプションを指定できます。詳細は、Configuring Content Assist for COBOL を参照してください。

ネイティブ COBOL のコンテンツ アシスト

次に、ネイティブ COBOL のコンテンツ アシストによって提供される記述支援について説明します。

コンテンツ アシストを使用すると、構文的に正しいコードを記述し、迅速に語を補完し、使用可能な要素を検索できます。

コンテンツ アシストは、所定の範囲内にあるデータ項目を現在のカーソル位置に応じてアシストします。

次の機能があります。

提案リスト
デフォルトでは、提案リスト (提案があるポップアップ) は、入力開始直後にはコンテンツ アシストに表示されません。提案リストを表示するには、Ctrl+Space を押します。
注: IDE 設定で自動アクティブ化を有効にすることができます。[Window > Preferences > COBOL > Editor > Content Assist] を参照してください。Ctrl+Space は、コンテンツ アシストを呼び出すデフォルトのキーの組み合わせです。IDE 設定でこの組み合わせを変更することもできます。

次のリストは、提案リストの動作をまとめたものです。

  • コンテキストに依存した提案 - このリストには、コード内のカーソルの位置およびプロジェクトのタイプに関連のある提案のみが含まれます。

    たとえば、提案リストには、手続き部の節にあるが、作業場所節にはなく、ネイティブ コードに関連のある COBOL 動詞のみが表示されます。MSS プロジェクトの提案リストには、メインフレーム サブシステム コード スニペットが含まれます。ファイルが固定長または可変長ソース フォーマットの場合、提案は書き込み領域でのみ利用できます。

  • 提案は、入力した文字で始まり、最も一致するものがコンテンツ アシストのポップアップでハイライトされます。このリストは、入力すると自動更新されます。
  • 提案には、COBOL キーワード (keyword)、COPY 文の提案リストにあるコピーブック (Copybook)、コード テンプレート (code snippet)、データ項目 (variable)、レベル 78 項目 (78 level item)、または節および段落 (section) が含まれる場合があります。

    デフォルトでは、コンテンツ アシストにより、関連のある COBOL キーワードおよび識別子のみを表示する提案リストが開きます。カーソルの現在の位置に挿入できるコード テンプレートがあるかどうかを表示するには、Ctrl+Space をもう一度押す必要があります。

  • 提案リストには、COPY 文が含まれます。
  • 提案リストは、コピーブックで利用できます。

    プログラムのコンテキストにおいてコピーブックをエディターで開いた場合には、コピーブックの提案リストには、プログラムで定義されている変数が含まれます。

文の補完
コンテンツ アシストは、COBOL 文を完成させるための知的支援を備えています。文を入力すると、コンテンツ アシストによって、文を完成させるために使用できる関連のある句および一意名の提案が表示されます。提案では、所定の範囲内にあり、選択した COBOL 方言および一意名の文に適用する構文規則が考慮されます。

文を完成させるには、次の手順を実行します。

  1. COBOL 文の最初の動詞の入力を開始します。
  2. Ctrl+Space を押して、使用できる句および一意名が含まれている提案リストを表示します。
  3. そのリストから提案を選択し、Enter または Space を押してコードに挿入します。
  4. さらに提案を表示するには、Ctrl+Space を押します。
COPY 文の補完
COPY 文を入力して Space を押すと、コピーブックが含まれている最初の提案リストが表示されます。

コンテンツ アシストが COPY 文の後に挿入するコピーブックを、リストから選択する必要があります。コピーブックが挿入された後、提案リストが表示され、文をピリオド (.) で終了するか、IN、OF、REPLACING、または SUPPRESS 句で文を続けるかを選択できます。

デフォルトでは、COPY 文の提案には、プロジェクトのプロパティの [Micro Focus > Build Path] ページの [Dependency Paths] タブで指定したディレクトリで見つかったコピーブックのみが含まれ、さらにプロジェクトで参照される任意のプロジェクトのアクティブな依存性パスからのコピーブックも含まれますが、これを変更してシステムのコピーブックも含めるようにすることができます。システムのコピーブックは、プロジェクトに含まれていないが、Eclipse の起動前に COBCPY 環境変数を使用して含まれるコピーブックです。システムのコピーブックを含めるには、[Tools > Options > Text Editor > Micro Focus COBOL > Content Assist] でコンテンツ アシスト設定を変更します。

自動補完
提案リストに 1 つの提案が含まれている場合、Ctrl+Space を押すと、自動的にその提案がコードに挿入されます。IDE 設定でこのオプションをオフにすることができます ([Window > Preferences > Micro Focus > COBOL > Editor > Content Assist] に移動)。
非一意の名前の修飾
変数名が一意ではない場合、コンテンツ アシストによってその名前が修飾されます。

StudentRecord と TeacherRecord の 2 つのグループ項目を定義するプログラムの例について考えます。両方のグループ項目には、FirstName、Surname、Phone といった同名の PIC X 基本項目が数多く含まれています。このような場合は、コンテンツ アシストによって次のように基本項目が修飾されます。

  1. 手続き部に move と入力して Space を押します。

    ポップアップ表示される提案リストには、COBOL キーワード、プログラムで定義したグループ項目、両方のグループ項目にある基本項目が含まれています。

  2. 基本項目の 1 つ (Surname of StudentRecord など) を選択してコードに挿入します。
  3. TO 句を挿入することを提示する Space を押します。

    コンテンツ アシストは、次のようにコードで使用する正確な基本項目を指定するのに役立ちます。

    move Surname of StudentRecord to...

JVM COBOL のコンテンツ アシスト

注: 次の説明は JVM COBOL のみに該当します。

JVM COBOL のコンテンツ アシストでは、メソッド、フィールド、プロパティ、型などが含まれている提案が表示されます。これらの要素は、項目を宣言するか、手続き部にオブジェクト名に続けて、ダブル コロンや左角括弧を入力すると使用できます。

リストから項目を選択すると、手入力しないでコードを完成できます。

次に、コンテンツ アシストがポップアップ表示される状況の例を示します。

  • 型のリスト - 01 my-string type などの型の宣言を開始したときに type という語の後に Ctrl+Space を押すとすぐに、プログラムで使用可能な名前空間と型のリストが Content Assist によってポップアップ表示されます。これらの名前空間は、ILUSING 指令またはユーザーのプロパティ ([Micro Focus > JVM Build Path] ページ) を使用してプロジェクトに追加したパッケージへの各参照から取得されます。

    パッケージ名を入力すると、そのパッケージ名内のすべての型がコンテンツ アシストによって表示されます。たとえば、次のように表示されます。

    • 01 my-string type - 上位パッケージの使用可能なすべてのプレフィックス (comjavajavafx など) のリストが表示されます。
    • 01 my-string type java. - java パッケージの子であるすべての中間パッケージのリストが表示されます。
    • 01 my-string type java.lang. - java.lang パッケージ内のすべての型およびサブパッケージのリストが表示されます。
  • メンバーのリスト - オブジェクトを起動すると、そのオブジェクトに使用できるメソッド、フィールド、プロパティ、イベントのリストがコンテンツ アシストによってポップアップ表示されます。リストが表示されるのは、次の例のようにインライン スタイルの invoke 文 (ダブル コロン :: を指定した) の場合です。
    invoke exception-object::