前回記事でGURIGURIさんからサジェッション頂いた件を検証してみました。
RDi の eclipse.ini で「 -Dfile.encoding=UTF-8 」を指定する、というのでは駄目でしょうか?
参考記事:IBM iのコード変更管理 ~オープンソースのGitを利用して、ソースコードや変更履歴情報を共有
RDiの設定変更
eclipse.iniに -Dfile.encoding=UTF-8 を追加して、RDiを起動します。
iプロジェクトを新規作成します
※現時点で1つ古いRDi V9.6で実行しています。V9.8でもメニューのありか等異なりますが基本は同一です。
RDiで、iプロジェクトのパースペクティブを開いて、ファイル -> 新規 -> iプロジェクトを選択して、、
任意のプロジェクト名を指定し、
接続するIBM iと今回のテスト用ライブラリー名を指定して、
ビルドスタイルはデフォルト(CLコマンドでビルドコマンドを作成=今回は作らない予定です。ちなみにコマンド、にするとIBM i にリモートからSSH等で接続してCLコマンドを投入するようなビルド形式で作成することもできます。)
以上で新規プロジェクトができるので、プロジェクトを右クリック -> インポート -> リモートシステム -> リモートファイルシステム を選択し、
ソースディレクトリ -> ソースのあるIBM i を指定し、ファイルシステム -> /QSYS.LIB を展開します、、
※おそらくここで時間がかかる事が多いはず・・たばこ休憩、コーヒー休憩ができると思います(^^;
さて、リストが取得されたら、目指すソースが存在するライブラリーを探して、クリックして展開します、
今回iプロジェクトにインポートするソース物理ファイルは 前のテストと同じQRPGLESRC, QDDSSRCにしてみます。インポートするソース物理ファイルは1つずつ選択・インポートになるので、地味に時間がかかると思います。。
で一点、パネル下の方の
・選択されたフォルダーのみを作成
・完全なフォルダー構造の作成
の二種がありまして、選択されたフォルダーのみを作成ですと選択したメンバーが階層構造無しにインポートされました。(ソース物理ファイルはフォルダーとして再現されませんでした、操作をミスってるかもしれません‥)
完全なフォルダー構造の作成 を選ぶとIBM i のIFS階層構造をRDiのプロジェクト上で再現します(下図)。今回のテストではどちらでも支障ありませんが、完全なフォルダー構造の作成、を選択しました。
下図のように2つのソース物理ファイルからインポートが完了しました。
この時、Windows PC上のフォルダーはどうなっているかというと、、このような感じでIBM i のWRKLNKコマンドで見たときと同じフォルダー構造になっています。
※ちなみに今回はこのフォルダーをGitの管理対象に追加しています。(この記事には影響ありませんが)
という事でインポートが完了しました。
VSCodeでソースを開いてみます。
その前にVSCodeの files.autoGuessEncoding のチェックも外します。(でもこれはソース毎の指定で関係ないのかな?)
文字化けせずにRDi iプロジェクトで IBM i 上のQRPGLESRCからWindowsにインポートしたソースを文字化け無しに開けました。
VSCodeのエンコードはUTF-8になっていますね。
一件落着・・と思ったら今度はRDiのLPEXエディターで同じファイルが改行されない、という事案が発生・・(^^;
※上記画像わかり難いですが、本来2行のステートメントが横一行で表示されています。3行目以降も横にずずっと表示されています。
これは別な解決策があると思いますが調べたいと思います。