RDiを試しに使ってみました (ソースメンバーの編集・コンパイル＋スクリーン・デザイナー)

# はじめに
Rational Developer for i (RDi)を試した際のメモです。
ソース・メンバーの編集・コンパイルを行いました。
スクリーン・デザイナーの機能も試しました。

以下のサイトからRDi v9.8の120日間無料で利用できる評価版をダウンロードできます。

https://www.ibm.com/support/pages/node/1115889


こちらのRDiの投資対効果に関する記事もご参考にしてください。
[IBM i 駆け出し日記：RDiの投資対効果を円で試算する](https://qiita.com/koga39chan/items/70d093de1ba2bdd4e711)

### 実施環境状況
- macOS：Sequoia Version 15.0
- RDi：Version 9.8

# ソース・メンバーの編集・コンパイル
今回はIBM i 上のSAITOLIB(ライプラリー)内のDEMOSRC(ソース物理ファイル)の中にあるIPH110(ソース・メンバー)をRSE(リモートシステムエクスプローラ)パースペクティブで編集・コンパイルを行いました。
RSEは5250開発環境をEclipseへ移植した環境で、SEUと同じ操作手順で、GUIで操作を行うことができました。

![スクリーンショット 2025-04-07 13.38.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3881779/ba9c3b1a-698b-49b1-b526-ce58cebced97.png)

## ソース・メンバーの編集
画面左側の接続しているサーバーのオブジェクト一覧から編集したいソース・メンバーをクリックして開く
![1ソースメンバーを開く.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3881779/373419ef-6b70-4d6b-9826-2f31d5704eaa.png)

**5250と同様に「F4」でプロンプト機能を使用することができました。**
また、エディターのカーソルを移動するだけで、「F4」を再度押さずに、対応する行のプロンプトへ変更されました。
![2F4プロンプトのコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3881779/9f38a972-f5e3-496c-a259-389cb6cc6dd5.png)


|  |  |
| ---- | ---- |
| 行の挿入 | `I`、または、「Enter」 |
| 行の削除 | `D`、または、「Command + Delete」 |
| ソースコードのコピー&ペースト | `CC`と`A` or `B`、または、「Command + c」と「Command + p」 |
| 編集したソース・メンバーの保存 | 「Command + s」 |
| コンテンツ・アシスト | 「Ctrl + fn + Space」 |

### コンテンツ・アシスト
コンテンツ・アシストは、入力を予測して選択肢を提示する機能で、スペル・ミスなどを減らすことができます。
エディタエリアで「Ctrl + fn + Space」によって、起動することができます。
カーソルの位置に入力することが予測される演算命令などの選択肢が説明と共に提示されます。
![8 コンテンツアシストのコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3881779/c28d86ea-4241-46e7-9b8e-8d2758b761fa.png)

IFを入力した後に改行すると、下の画像のようにENDIFが自動で入力されました。
![8endif.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3881779/f32957e7-0f13-4bb8-950f-4ff6338fdc1c.png)

## ソース・メンバーのコンパイル
ソース・メンバーの編集を保存してから、「右クリック」→「コンパイル」
![3右クリコンパイルボタン.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3881779/b1a3b1a1-6a8c-42b7-b0ab-0bc7459da5f5.png)
これで、ソース・メンバーの編集とコンパイルは完了しました。


# 便利だった機能
RDiを試しに利用して便利だった機能をいくつかメモします。

### オブジェクトの説明文を確認
オブジェクトの説明文を確認しながら、オブジェクトを探すことも可能です。
RPGLESRC(ソース物理ファイル)内のソースメンバーを説明文と共に一覧表示する場合、RPGLESRCを右クリック→「テーブルでの表示」
![6ソースの説明文表示.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3881779/597eb67c-12b8-4562-b68e-98be5bd10d2e.png)
画面右側にRPGLESRC内のソース・メンバーの説明文が表示されているので、説明文からソース・メンバーを選択することができます。
また、画面左側のフィルターで表示するオブジェクトを設定することもできます。
![6.1メンバー説明のコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3881779/4d884a75-37a5-44f6-b15a-73a66ae70186.png)
RDiは、オブジェクトの高い一覧性やフィルタリング機能により、目的のオブジェクトを発見しやすいと思いました。

### ILE RPG固定フォームのフリー・フォーム(FF)RPGへの変換
RDiでは、ILE RPG固定フォームのソースを簡単にFF RPGへ変換することができました。
エディター上で、FF RPGに変換したいソース・コードを選択して、右クリック→「選択をフリー・フォームに変換」
![7FF変換前.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3881779/2c54570c-58ee-4216-bab9-cf3b09a546b6.png)
![7FF変換後.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3881779/a398d812-0d1c-4650-b821-22da6b2127ec.png)
以上の操作で簡単にFF RPGに変換することができました。

### RDiの画面構成をカスタマイズ
画面上のタブをドラッグ&ドロップすることで画面上の配置を変更することができました。
さらに、エディターエリアを見やすくするためにサイズを大きくするなど、各タブの大きさも変更することができました。

ソース・メンバーのタブやプロンプト画面のタブなどをDetachして、別のウィンドウにまとめることもできました。
Detachしたいタブで右クリック→「Detach」
![5 detach.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3881779/6e915b0c-71b7-4553-a9f4-53c9d87051f6.png)
切り離されたタブ同士を重ねるようにドラッグ&ドロップすると必要なタブのみのウィンドウを作ることもできました。
![5.1Detachしたタブを統合.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3881779/7974019e-d59d-4ef1-aa2b-eed972057331.png)
また、新しくRDiのウィンドウを開いて複数のウィンドウで操作したい場合は、「ウィンドウ」→「新規ウィンドウ」で新しく開くこともできました。
![4新規ウィンドウ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3881779/2c857d27-797b-4136-98ba-c60597734ced.png)

# スクリーン・デザイナー
スクリーン・デザイナーは、5250画面をGUIで設計・編集できる機能です。
5250画面をマウスを用いて直感的に編集したり、5250画面を確認しながらソースコードを編集することができます。

### スクリーン・デザイナーの起動
DSPFソースを右クリックして、スクリーン・デザイナーを起動
![0スクリーンデザイナー起動.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3881779/5102add8-4113-492a-98ed-001c04e6c331.png)

複数のDSPFソースを同時に開いて、比較しながら編集することも可能でした。
![0.1 2画面開く.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3881779/3e2ca390-836a-478d-8804-21104c61e218.png)


### パーツをパレットからドラッグ＆ドロップで配置可能
パレットから新しく配置するパーツをドラッグ&ドロップで配置可能
![パレットから新しいパーツをドラッグ＆ドロップで配置.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3881779/cea538a7-abcd-4a13-9a8c-f25847e1a778.png)

### マウスでパーツを編集可能
マウスを使用して、画面上のテキストの位置を変更する方法は、2通りありました。
1. 画面上のパーツを選択して、ドラッグ&ドロップ
1. プロパティーの位置のパラメーターを設定

![1.0.1マウス操作.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3881779/75487f0e-7aa1-44ea-98e4-2b848e46673e.png)
プロパティーでは、パーツの位置、テキスト、属性、色や標識などをマウス操作で編集することができました。
また、マウス操作の結果は、ソースコードへ自動で反映されました。

複数のパーツを「Ctrl + クリック」で選択して、一括で編集することも可能でした。
![1.2　複数選択のコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3881779/17c06d2a-738c-45ee-b2d5-8f69037fd05b.png)



### ソースコードを直接編集することも可能
Sourceをクリックするとソースコードを確認・編集することもできました。
また、マウスで編集した結果は自動で更新されていました。
![2ソースコード更新.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3881779/4e6f65c0-dfa9-4c63-896b-643f1ff1ba01.png)

### 5250画面とソースコードを同時に表示しながら編集
i プロジェクト上でスクリーン・デザイナーとテキスト・エディターを活用することで、5250画面とソースコードを同時に表示しながら編集することもできました。

**手順**
1. i プロジェクトにソースファイルをインポート
1. スクリーン・デザイナーでソースファイルを開く
1. テキスト・エディターでソースファイルを開く
1. テキスト・エディターのウィンドウを画面の右側にドラッグして、2画面を表示

![スクリーンデザイナーテキストエディターのコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3881779/22da9139-26e1-46b6-8be3-f28833b06b60.png)

![4.1２画面表示.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3881779/102e3c71-e5ef-4786-8c20-ad359795ed74.png)

テキスト・エディターのソースコードを編集して、「Ctrl + s」で保存すると、スクリーン・デザイナーの画面上に反映されます。

# まとめ
RDiではRPG開発をVS Codeに近い感覚でコンパイルまで行うことができ、5250での開発に慣れていない人でも使いやすいと思います。
スクリーン・デザイナーを活用すれば、画面設計も簡単に行うことができます。