COBOL エディターでは、プログラムまたはコピーブックでコピーブックが参照される場所に、コピーブックの内容をインラインで表示する機能がサポートされます。次の機能があります。
コピーブックの表示
単一のコピーブックを表示するには
ソース ファイルで参照されるすべてのコピーブックを表示するには、次の手順を実行します。
注:
- 書き込みアクセス権がないコピーブックは、読み取り専用モードで表示されます。これには、管理者の権限なしで Visual Studio を実行している場合のシステム コピーブックも含まれます。
- COPY 文がある行で [Go To Definition] を使用すると、コピーブックの内容がインラインで表示されます。
- COPY...REPLACING を使用して参照されるコピーブックの場合、[Show all copybooks] コマンド、[Go To Definition]、[Error List] ウィンドウからのエラーへの移動、[Find All References]、およびドロップダウンのタイプとメンバーを使用したナビゲーションは、コピーブックが元の内容で既に表示されていない限り、いずれも読み取り専用の拡張コピーブック ビュー内の項目を、置き換えられた値によって表示します。
置き換えられた値によるコピーブックの表示
COPY...REPLACING 文を使用して参照されるコピーブックの場合、元の内容を表示するか、または置き換えられた値による内容を表示できます。
編集モードに切り替えるには、[COPY] ビューを右クリックするか読み取り専用ビュー内を右クリックして、[Show "CpyFileName.cpy" for editing] をクリックします。
コピーブックの非表示
単一のコピーブックでは、次の手順を実行します。
- エディターで COPY 文または拡張コピーブック ビュー内を右クリックし、[Hide "CpyFileName.cpy"] をクリックします。
現在のファイルですべてのコピーブックを非表示にするには
- COBOL ツールバーの
([Hide all copybooks]) をクリックするか、またはエディターでソース ファイルを右クリックして [Hide all copybooks] をクリックします。
コピーブックの開始位置または終了位置への移動
エディターの拡張コピーブック ビューに表示されているコピーブックの開始位置に移動するには、次の手順を実行します。
エディターの拡張コピーブック ビューで表示されているコピーブックの終了位置に移動するには
- 拡張コピーブックのコードを右クリックし、[Go To End Of "CpyFileName.cpy"] をクリックします。
カーソルがコピーブックの終了位置に移動します。
拡張コピーブック ビューでのコピーブック編集
拡張コピーブック ビューでコピーブックを編集できます。変更を保持するには、拡張コピーブック ビューでコピーブックを編集したファイルを保存する必要があります。これにより、変更を加えた後にコピーブックを非表示にしても変更は保存されます。
拡張コピーブック ビューでの編集またはエディターの単独のタブで開いた場合の編集のどちらでも、コピーブックを編集すると、コピーブックが表示される他のどの場所でも変更内容が自動で表示されます。
拡張コピーブック ビューでコピーブックに変更を加えた後にソース プログラムを閉じると、コピーブック ファイル自体で変更を保存するように指示されます。
注: 拡張コピーブック ビューでは、置き換えられた値によって表示される、COPY...REPLACING 文を使用して参照されるコピーブックを編集することはできません。この場合、拡張コピーブック ビューは読み取り専用です。それらのコピーブックを開いて編集するには、COPY...REPLACING
文の行を右クリックし、[Show "CpyFileName.cpy" for editing] をクリックします。
エディターの単独タブでのコピーブックの編集
エディターの単独タブで COBOL ソース内からコピーブックを開くには、次の手順を実行します。
エディターの単独タブで開いているコピーブックを閉じると、そのコピーブックが表示されていたすべてのソース ファイルでそのコピーブックの拡張コピーブック ビューが非表示になります。拡張コピーブック ビューを再び表示する必要がある場合、手動で開く必要があります。
拡張コピーブック ビューでのデバッグのサポート
デフォルトで、デバッガーは拡張コピーブック ビューでインラインでステップ実行しながらデバッグを行います。この動作は、[ツール > オプション > デバッグ > COBOL] から変更できます。
拡張コピーブック ビューでのデバッグのサポートには次の機能が含まれています。
- 拡張コピーブック ビューで、ブレークポイントと COBOL 監視ポイントを通常の方法で直接コピーブック ファイルに設定できます。
- デバッグ時に、拡張コピーブック ビュー内でステップ実行できます。IDE では、ステップインしたとき、またはコピーブックのブレークポイントにヒットしたとき、コピーブックが自動で展開されます。
- 拡張コピーブック ビュー内でピンされたデータ ヒントを表示できます。
- 拡張コピーブック ビュー内で、[Quickwatch] および [Add Watch] コマンドを使用できます。
- いくつかのデバッガー コマンド、例えば [Show Next Statement]、[Run To Cursor]、[Set Next Statement] などを、拡張コピーブック ビューのコンテキスト メニューから実行できます。
注: 拡張コピーブック ビューには、次の制限事項が適用されます。
- 拡張コピーブック ビューでは、ブックマークはサポートされていません。スタンドアロン ファイルとして開かれているコピーブックにはブックマークを追加できます。
- 拡張コピーブック ビューでは、置き換えられた値がビューに表示される場合、COPY...REPLACING 文によって参照されるコピーブックは編集できません。この場合、拡張コピーブック ビューは読み取り専用です。
- 拡張コピーブックの読み取り専用ステータスは、プロジェクトを閉じた後は維持されません。次回プロジェクトを開くと、コピーブックは拡張コピーブック ビューに表示されますが読み取り専用ではなくなります。
- COPY 文で OF 指定または IN 指定を使用したとき、コピーブックがライブラリ ファイルに格納される場合は (COPYLBR コンパイラ指令を使用した場合)、拡張コピーブック ビューで対応するコピーブックを表示できず、または [Open "CopybookName" in New Window] コマンドを使用してコピーブックを開くことはできません。
- [Class View] から、または [Navigate To] コマンドを使用して、拡張コピーブック ビューの項目に移動する操作はサポートされません。
- 出力ウィンドウでファイルの場所を参照した場合 (ビルド出力へのポイントなど)、または [Find in Files] で受け取られた結果でファイルの場所を参照した場合、拡張コピーブック ビューの項目をポイントしません。
- 拡張コピーブックの呼び出し履歴で現在選択されている文を選択すると、実際のコピーブックが表示される場合があります。デバッガーの [Show Next Statement] コマンドを使用して実際の拡張コピーブックの位置に戻ることができます。
- [Breakpoints] ウィンドウには、拡張コピーブック ビュー内の行番号ではなく、ブレークポイントを含んでいるファイル内のブレークポイントの行番号が常に表示されます。
- [Call Stack]、[Threads]、[IntelliTrace] の各ウィンドウには、拡張コピーブック ビュー内の行番号ではなく、文を含んでいるファイルに対応する行番号が表示されます。
- 拡張コピーブック ビューでカレットを無効な位置に移動すると、[Set Next Statement] コマンドによって「Unable to set the next statement to this location」というエラー メッセージが表示されコピーブックが個別の文書として開きます。
- マネージ コードでステップ実行するとき、ステップ実行する次の文が同じクラスまたはプログラム、同じ行番号にありながら、異なるソース ファイルにある場合、デバッガーはその文をステップ オーバーします。例えば、Program1.cbl の行 10 から Copybook1.cpy の行 10 までステップ実行する場合、デバッガーはコピーブックでその文をステップ オーバーします。