メニューボタン
IBMi海外記事2020.07.08

RDi V9.6 パート7、拡大表示、現在位置の表示、定数のリファクタリングなど

Susan Gantner 著

RDiの機能強化が、続々とリリースされています。V9.6に関する このシリーズの前回の記事 以降にも、さらなる修正パックと、かなりの数の新機能がリリースされました。今回のパート7では、文字定数のリファクタリング、RDiが2通りの方法で示してくれる「現在位置」、そしてコードを拡大表示するための簡便な方法について取り上げます。併せて、バッチでコンパイルを行っているユーザー向けのちょっとした参考情報も記します。

現在位置の表示

9.6.0.6では、地図上の「現在位置」表示のような働きをする、2つの新しい機能が追加されました。RPGコードを編集しているときに、メインライン コード内にいるのか、あるいは、どのサブルーチンまたはサブプロシージャー内にいるのかを示してくれる機能です。

エディター ウィンドウ下部のメッセージ領域に、ルーチンの名前(またはMain Procedure)が表示されるようになりました。また、「アウトライン」ビューを自動的に配置させて、コード内での移動に合わせて対応するルーチンがハイライト表示されるようにすることもできます。下の図1に、その両方の機能を示します。

エディター ウィンドウ
図1: 現在位置の表示

おそらく、両方の機能を同時にアクティブにすることまでは必要ないでしょうから、どちらか使いやすい方を使用するとよいと思います。エディター下部のメッセージは、デフォルトでオンになっていますが、メインのILE RPG設定ページのオプションでオフにすることができます(その設定ページにアクセスするのに一番早いのは、「アウトライン」ビュー メニューの「Preferences」オプションを使用することです)。設定するオプションは、そのページの下部にある「Show current procedure or subroutine in editor」です。

この設定ページには、そのオプションのすぐ下に「Select current procedure or subroutine」というオプションがあります。これが、「アウトライン」ビューのハイライト表示を制御するオプションです。この設定は、「アウトライン」ビュー メニューのオプションから行うこともできます。デフォルトでは、オンになっていないと思います。

拡大表示

エディターで作業中のソース コードを少し大きく表示できると便利なときがあります。たとえば、同僚に画面を肩越しに見せたいときや、具合が悪い日などで目のピントが合いづらいときです。あるいは、昨今の自宅からのテレワークでは、テレビ会議でコードを共有するときなどもそうかもしれません。設定ページでは、いつでもエディターのフォント サイズを変更できますが、一時的にフォント サイズを大きくする必要があるだけの場合は、煩雑かもしれません。9.6.0.6以降では、キーボード ショートカットのCtrl +(Macではcommand +)を使用して、特定の開いているメンバーを拡大表示できるようになりました(図2を参照)。希望のフォント サイズになるまでCrl +を押し続けます。再びフォントを小さくする場合は、Ctrl -(Macではcommand -)を使用します。現在、表示しているメンバーでフォントが変更されるのみであり、他の開いているメンバーは変更されない点に注意してください。

図2: 拡大表示

定数テキストをリファクタリングする

コードのリファクタリングを支援してくれる機能には、いつも助けられています。数年前、エディターに、変数などの名前変更を行うためのオプションがあるリファクタリング メニューが登場しました。9.6.0.6では、そのメニューに、2つ目のリファクタリング メニュー項目である「 Extract constant . . . 」が加わりました(9.6.0.7以降をインストールしている場合は、「 Extract Procedure. . . 」という3つ目のメニュー項目も表示されていることに注意してください。このメニュー項目については今後の記事で取り上げる予定です)。

コードでリテラル値の代わりに名前付き定数を使用するのが望ましいということは周知の通りです。その値への参照が複数ある(可能性がある)場合は特にそうです。この新たなサポートによって、コードで後から名前付き定数を実装するのが非常に簡単になります。定数定義を作成してくれるだけではなく、コード内のその同じ定数値への参照をすべて置換してくれます。現時点では、このオプションはテキスト定数に対してのみ有効です。今後、数値定数についても、同様の機能が追加されることが望まれます。

名前変更のリファクタリング オプションを使い慣れている方には、定数抽出オプションはお馴染みな感じがすると思います。名前変更オプションを使用したことがない方のために、以下にその手順を示します。

まず、コード内で定数テキスト(すなわち、引用符で囲まれているテキスト)を選択します。定数値全体を選択する必要はなく、その一部分を選択すれば十分です。次いで、右クリックして「リファクタリング」 > 「Extract constant...」を選択すると、「Extract Constant」ダイアログ ボックスが表示されます。名前付き定数用に提案された名前が示されますが、任意の名前に修正できます。図3は、これらの手順を示しています。

図3: 定数の抽出

リファクタリングの変更結果をプレビューしたい場合は、「強制プレビュー」ボックスをチェックするか、「プレビュー」ボタンを押します。そうする代わりに、「OK」を押した場合は、エディター ビューですべての変更内容が自動的に適用されます。もちろん、変更結果が望んでいたものではなかった場合は、それらの変更をいつでも元に戻すことができます。図4に、プレビュー ダイアログを示します。

エディター ウィンドウ
図4: 定数の抽出のプレビュー

バッチでコンパイルを行う方へ

個人的には、RDiコンパイルをバッチで行うのは好きではありません。私の場合、RDi接続のジョブでのコンパイルに設定を行っています。そのオプションを使用する場合は、「設定」 > 「リモート・システム」 > 「IBM i」 > 「コマンド実行」を選択し、「バッチでコンパイル」ボックスを選択解除します。

しかしながら、コンパイルをバッチへサブミットするデフォルト動作の方が好きだという方も少なくないと思われます。9.6.0.6より前のバージョンでは、それらのサブミットされたコンパイルのジョブ名は、PDMバッチ コンパイルが使用した名前とは異なっていました。現在は、ソース メンバーの名前が使用されるようになっています。これはPDMの動作とまったく同じです。そのため、PDMでのコンパイルとRDiでのコンパイルとを行ったり来たりする場合も、バッチ コンパイル ジョブには、一貫した名前が付けられるようになっています。

RDi 9.6に追加された機能強化は、他にもまだたくさんあります。既存の機能に対する素晴らしい機能強化もいくつかありますし、前述した既存のロジックからサブプロシージャーを作成するためのリファクタリング サポートもその1つです。また、ライブラリー リストをより簡単に修正できるようにする新たなビューも追加されています。それらについて、およびその他の新たなRDiの機能強化については、今後の記事で詳しく取り上げるつもりです。

あわせて読みたい記事

PAGE TOP