IntelliSense を使用した COBOL コードの効率的な記述

IntelliSense とは、メンバーの一覧、パラメーター ヒント、クイック ヒント、入力候補などの Visual Studio のさまざまな機能を指す総称です。

Enterprise Developer では、ネイティブ COBOL とマネージ COBOL の両方の記述支援に IntelliSense を使用できます。

COBOL 向けの IntelliSense のサポートは構成可能です。IDE 内の [Tools > Options > Text Editor > Micro Focus COBOL > IntelliSense] セクションで IntelliSense のユーザー設定を変更し、挿入される語の大文字小文字、入力候補一覧を表示するか 1 つの候補を自動的に挿入するか、候補を上書きモードで追加するか挿入として追加するかなどのオプションを指定できます。詳細は、「COBOL 用 IntelliSense の構成」を参照してください。

ネイティブ COBOL での IntelliSense

次に、ネイティブ COBOL の IntelliSense によって提供される記述支援について説明します。

IntelliSense には編集機能があり、構文的に正しいコードを記述できます。IntelliSense を使用すると、迅速に語を補完し、使用可能な要素を検索できます。

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

次の機能があります。

入力候補一覧
デフォルトでは、入力開始直後に IntelliSense によって入力候補一覧 (候補を示すポップアップ) が表示されます。入力候補一覧が自動的にポップアップ表示されない場合は、Ctrl+Space を押すと表示されます。この方法は、まだ入力を開始していない場合、または入力候補一覧の自動表示が無効になっている場合に実行できます。

次のリストは、入力候補一覧の動作をまとめたものです。

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

    たとえば、入力候補一覧には、手続き部の節にあるが、作業場所節にはなく、ネイティブ コードに関連のある COBOL 動詞のみが表示されます。MSS プロジェクトの入力候補一覧には、メインフレーム サブシステム コード スニペットが含まれます。

  • 候補は、入力した文字で始まり、最も一致するものが IntelliSense のポップアップで強調表示されます。この一覧は、入力するにつれて自動更新されます。
  • 候補には、COBOL 動詞、句、および語 (keyword)、COPY 文の入力候補一覧にあるコピーブック (Copybook)、コード スニペット (code snippet)、変数 (variable)、レベル 78 項目 (78 level item)、節および段落 (section) などが含まれます。
  • 入力候補一覧には、COPY 文が含まれます。
  • 入力候補一覧は、プログラム、および拡張コピーブック ビューに表示されているプログラム内のコピーブックの両方で使用できます。
文の補完
IntelliSense は、COBOL 文を完成させるための知的支援を備えています。文を入力していると、IntelliSense によって、文を完成させるために使用できる関連のある句および一意名の候補が表示されます。候補では、所定の範囲内にあり、選択した COBOL 方言および一意名の文に適用する構文規則が考慮されます。

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

  1. COBOL 文の最初の動詞を入力して Space を押します。

    デフォルトでは、使用できる句および一意名が含まれている入力候補一覧が IntelliSense によって自動的にポップアップ表示されます。

  2. その一覧から候補を選択し、EnterTab、または Space を押してコードに挿入します。
  3. さらに候補を表示するには、Space を押します。
COPY 文の補完
COPY 文を入力して Space を押すと、コピーブックが含まれている最初の入力候補一覧が表示されます。

IntelliSense が COPY 文の後に挿入するコピーブックを、一覧から選択する必要があります。コピーブックが挿入された後、入力候補一覧が表示され、文をピリオド (.) で終了するか、IN、OF、REPLACING、または SUPPRESS 句で文を続けるかを選択できます。

デフォルトでは、COPY 文の候補には、現在のプロジェクトに属するコピーブック、またはプロジェクトのプロパティの [Copybooks] タブで指定したディレクトリで見つかったコピーブックのみが含まれますが、これを変更してシステムのコピーブックも含めるようにすることができます。システムのコピーブックは、プロジェクトに含まれていないが、COBCPY 変数を使用して定義されるコピーブックです。[Tools > Options > Text Editor > Micro Focus COBOL > IntelliSense] セクションからユーザー設定を変更できます。

自動補完
入力候補一覧に 1 つの候補が含まれている場合、Ctrl+Space を押すと、自動的にその候補がコードに挿入されます。IDE ユーザー設定でこのオプションをオフにして、動作を変更することができます ([Tools > Options > Text Editor > Micro Focus COBOL > IntelliSense] セクションに移動)。
非一意の名前の修飾
変数名が一意ではない場合、IntelliSense によってその名前が修飾されます。

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

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

    ポップアップ表示される入力候補一覧には、COBOL キーワード、プログラムで定義した集団項目、両方の集団項目にある基本項目が含まれています。

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

    IntelliSense は、次のようにコードで使用する正確な基本項目を指定するのに役立ちます。

    move Surname of StudentRecord to...

.NET COBOL の IntelliSense

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

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

一覧から項目を選択すると、手入力せずにコードを完成できます。

次に、IntelliSense がポップアップ表示される状況の例を示します。

  • 型の一覧 - 01 my-string type などの型の宣言を開始したときに「type」というキーワードを入力して Space を押すとすぐに、プログラムで使用可能な名前空間と型の一覧が IntelliSense によってポップアップ表示されます。これらの名前空間は、プロジェクトに追加した各参照から取得されます。名前空間を入力すると、その名前空間内のすべての型が IntelliSense によって表示されます。たとえば、次のように表示されます。
    • 01 my-string type - 使用可能なすべての名前空間の一覧が表示されます。
    • 01 my-string type System. - System 名前空間内のすべての型の一覧が表示されます。
    • 01 my-string type System.IO. - System.IO 名前空間内のすべての型の一覧が表示されます。
  • メンバーの一覧 - オブジェクトを起動すると、そのオブジェクトに使用できるメソッド、フィールド、プロパティ、イベントの一覧が IntelliSense によってポップアップ表示されます。一覧が表示されるのは、次の例のようにインライン スタイルの invoke 文 (ダブル コロン :: を指定した) の場合です。
    invoke my-string::