VS Codeは、モダンなIBM i プラットフォームの中核になる
アプリケーション プログラマーにとって、作業スペースというのは、画面やキーボードを前にして椅子に座る場所ではなく、ツールそれ自体の内部で、またはそのツールを他のツールへ接続するプラグイン拡張機能を通じて、コードが作成され、共有され、コンパイルされ、管理される統合開発環境(IDE)です。IDEは、数十年前から使用されてており、目新しいものではありません。目新しいのは、ある特定のIDE(すなわちVS Code)の人気がどれほど突然に高まることになったかということです。
ここ数年間、Stack Overflow社による調査、「 Stack Overflow Developer Survey 」に回答した世界各地のプログラマーの3/4近くは、VS Code(10年前に Microsoft社によってオープンソースとしてリリースされた ツール)を使用していると回答しています。高い評価を受けているこのコード エディターは、真の意味でのIDEへと徐々に進化し、Windows、Linux、MacOSプラットフォームにまたがって瞬く間に普及しました。VS Codeは、それらのプラットフォーム上で、C、C#、C++、Fortran、Go、Java、JavaScript、Node.js、Python、Rust、およびJuliaで書かれるプログラムを作成するのに使用することができ、最近では、IBM i プラットフォーム、そしてRPG、Java、およびSQLアプリケーションでも使用できるように拡張がなされています。
IBM i ベースの間では、VS Codeが、IBM独自のIDEであるRational Developer for i を侵食するというのは、そうなるかどうかの問題ではなく、いつそうなるかの問題となっています。RDiは、それ自体がJavaで書かれており、IBMが2001年にオープンソース化したEclipse IDEがベースになっています。Eclipseは、約10年にわたって、Javaプログラミング向けの最もポピュラーなIDEでした。そして、長い期間を掛けて、すべてのポピュラーなプログラミング言語へサポートを拡大しました。
VS Codeは、よそ者としてのスタートでしたが、今では、IBM iでの開発におけるリファレンスIDEとなっています。IBMはIBM i プラットフォーム向けのAI駆動型コード アシスタントを開発中ですが、RDi ではなくVS Codeと統合しようとしているところを見ると、VS Codeは単なるトレンドとは言えないようです。そのことは、コミュニティに明確なメッセージとして伝わっています。
コミュニティも、IBMに明確なメッセージを送っています。PowerUP 2025およびCOMMON Europe Congress 2025カンファレンスでは、ますます多くの人がVS Codeに関するセッションを行うようになっており、それらのセッションの参加者も非常に多かったようです。誰もがVS Codeの話をしており、コミュニティは非常に活気に溢れています。一方、他のエディターおよびIDEについては、これといった動きはないようです。VS Codeを改善する方法についてのアイデアを提案したり、VS Code向けの拡張機能やフィーチャーを作成したりすることで、ユーザーはVS Codeに貢献することができます。しかし、おそらく最も重要なのは、ただダウンロードするだけで、使用し始めることができるということです。VS Codeは、高速で信頼性が高く、他のIDEとは異なり、試してみたい場合は、とても気軽に試用することができます。
EclipseとVS Codeの間には、大きな違いがあります。その違いに着目すると、VS CodeがIBM i コミュニティで勢いがある理由を理解しやすくなると思います。ARCAD社では、RDiおよびVS Codeプラグインの両方を構築していますが、Eclipseプラグインと比べると、私としてはVS Code拡張機能を書く方が好きだと断言できます。一方は簡単ですが、他方は苦労が多いからです。
RDiはEclipseを全面的にベースにしており、実際のところは、IBMによって提供されるいくつかのプラグインを備えた、リブランドされたEclipseです。したがって、たとえEclipseが根本的にオープンソースであるとしても、IBMによってRDi向けに提供されるプラグインはそうではないため、それらのコードにアクセスすることはできません。そのため、RDiは部分的にオープンではないものになっています。それに加えて、IBMは、それらのRDiプラグインを使用する場合は実際にライセンスの購入を求めるライセンス チェックを追加しています。これは、RDiに関連する問題を解決するために問い合わせることができる唯一の場所がIBMであることを意味します。また、RDiの更新はIBMによって管理されていますが、巨大なVS Codeユーザー ベースに比べると、おそらくリソースははるかに限られています。VS Codeは、GitHubを通じて頻繁に提案される、ユーザーからの数多くの要望を取り入れています。また、VS Codeは、GitHubでダウンロードされますが、バグ修正もそこで公開されます。さらに言えば、これは、IBMなどへ戻って作業しようとするよりも、簡単な方式だと言えるでしょう。
VS Codeに関して覚えておくべきことは、RDiのすべての機能がVS Codeに含まれているわけではないことです。時には、新たなやり方を学ばなければならなくなることもあるかもしれません。また、IBMは、これについても明確にしています。
しかし、VS Codeについて一番ワクワクするのは、VS CodeがどれくらいIBM i ベースを活性化できるかということです。VS Codeとフリー フォーマットRPGとSQLの組み合わせは、使いやすいモダンなプラットフォームであり、プログラマーは、Javaや、RPGがまったく無縁ではない他の言語を十分熟知しています。昔ながらの固定フォーマットRPGでは、そうは行きませんでした。そのため、モダンなアプリケーションを作成するための言語の3つのうちの2つはIBM i プラットフォームで利用できる(そして人気がある)のであれば、他のプラットフォームと変わりありません。5250グリーンスクリーン向けのSEUおよびPDMや、よりモダンなアプリケーション向けでも非常に遅いRDiは必要ありません。新しいプログラマーはVS Codeをよく知っています。そこでVS Codeをサポートすることによって、IBM i は、世界中のプログラマーにとって、つい最近までとは打って変わって普通に見えるようになります。
そして、実際のところ、SEUやPDMを使用しているプログラマーにRDiへ移行させようとするよりも、VS Codeへ移行させる方が容易です。
これは真の進歩であり、IBM i プラットフォームに希望をもたらします。IBM i プラットフォームは、フレッシュでクールでモダンに見えるようになり、それでも、このプラットフォームのユニークな面はすべて保持されます。
VS Codeとの関連で、ARCAD社はどのようなことを行っているか尋ねられることがよくあります。実際、たくさんのことを行っているというのがその答えです。VS Codeは、ARCAD社の研究開発における最重要点です。ARCAD拡張機能は、重要なIBM i DevOps機能を直接VS Codeにもたらします。また、それらはマーケットプレイスですぐに入手できるようになっています。では、それらについて見てみましょう。
Elias / Builder
Eliasを使用することで、開発者は、真のGitベースのIBM i 開発モデルである「project mode(プロジェクト モード)」内で作業することができ、新人およびベテランIBM i 開発者のいずれもが、以下の作業を簡単に始められるようになります。
- 手動でのチェック イン/アウトなしで(ARCADが透過的に処理)、ローカルまたはリモートで、任意のブランチで変更を編集、コンパイル、ビルドする。このようなコンフリクト セーフなブランチングにより、並行開発が容易になる。
- 従来の5250またはRDiで行うのと同じように、リポジトリを参照し、コンポーネント/バージョンをチェック アウトする。
- ARCADのメタデータ リポジトリによって補助されたCodeLensを介して、エディター内で相互参照(依存関係)を調査する(ファイル宣言、プロシージャー使用法/インポート/その他)。
- 固定フォーマットRPGLEをフリーフォーマットRPGへ即座に変換する。
- ARCADメタデータを使用して、依存関係を自動的にビルド(再コンパイル)する。Makefileを保守する必要はない。リアルタイム相互参照管理によって個人用ビルドが作成され、ブランチ統合が処理される。
- IBM i 上でCI/CDパイプラインを自動化する。コードがプッシュされるとすぐに、ARCADはIBM i でブランチ固有のライブラリーを作成し、パイプラインをトリガーする。コンパイル、品質/セキュリティ チェック、脆弱性スキャン、単体/リグレッション テスト、レポート作成はすべて自動的に行われる。
- 既存のDevOpsツールチェーン(Git、Jenkins、SonarQube、Azure DevOpsなど)とシームレスに統合する。
CodeChecker
ARCAD CodeCheckerは、開発者に組み込みの静的解析エンジンを提供します。VS Codeから直接、ルール セットを使用して、品質またはセキュリティ上の問題がないかRPG/COBOLをスキャンすることができます。問題は、エディター内でハイライトされ、「Problems(問題)」ビューにリストされます。
iUnit
ARCAD iUnitは、VS Code内で単体テストを作成および実行します。開発者側テストを自動化し、カバレッジ/パフォーマンスを監視し、JUnitへエクスポートし、CI/CDフローに統合します。
Transformer Microservices
ARCAD Transformer Microservicesは、IBM i アプリケーション全体で類似しているコード部分を検出し、モジュール プロシージャーを生成し、重複コードをプロシージャー呼び出しに置換します。
まとめると、これらのIBM i 向けのVS Code拡張機能は、エディターを堅牢なIBM i DevOps IDEに変え、慣れ親しんだVS Code環境に最新のビルド オートメーション、コード分析、テスト、およびデプロイメント ツールをもたらします。RPG/COBOLワークフローをモダナイズしているチームには、大きく飛躍する機会がもたらされます。
Eliasは、VS Codeへの移行の際の学習曲線を円滑にします。RDiまたは5250のワークフローに慣れ親しんでいるIBM i 開発者は、それまでの作業習慣を変えることなく、モダナイズを行うことができます。一方、新人開発者は、すべて1つに統合された環境内で、IBM i 開発と他のテクノロジーを簡単に切り換え可能な慣れ親しんだ最新のIDEを利用できるメリットがあります。
詳細については、 ウェビナー: 「Embrace VS Code for IBM i Development」(IBM i 開発にVS Codeを利用する)を参照してください。