Visual Studio Code (VS Code) エディタにSystem4言語サポートを追加する拡張機能。AinDecompilerを使わずに、VS Codeからainファイルのデコンパイル、jafファイルのコンパイルを行える。xsystem4を使ったデバッグもサポートしている。
機能
- ainファイルをjafファイルにデコンパイル
- jafファイルのコンパイル
- コードの色付き表示
- エラーメッセージのエディタ内表示
- マウスオーバーで型情報の表示
- 定義へ移動(変数名/関数名をCtrl+クリック)
- xsystem4を使ったデバッグ機能
- 実行の一時停止
- 変数の内容表示
- ステップ実行
- ブレークポイントの設定
インストール
- Visual Studio Code をインストール
- 起動すると日本語言語パックのインストールを促される。お好みでインストールする。
- System4言語拡張 をインストール
- VS Codeの左側のアイコンの並びから、拡張機能画面を開く
- 検索ボックスに system4 と入力
- 検索結果の中から「System 4」を選択
- 「インストール」ボタンを押す
使い方
ここではAinDecompilerの改造例で解説されている ランスの初期兵数を150から300に変更する例 を、VS Codeで行う手順を解説する。
- VS Codeのメニューから「ファイル(F)」→「フォルダーを開く」をクリックし、戦国ランスのフォルダー(戦国ランス.ainがあるフォルダー)を開く。
- F1 キーを押し(またはウィンドウ上部の検索ボックスをクリック)、 system4 と入力。候補の中から「System4: Decompile」を選択する。これでsrcフォルダー内にjafファイルが生成される。
- VS Codeの左側のアイコンの並びから、虫眼鏡(検索)をクリックして検索画面を開く。検索ボックスに 固有武将登録 と入力する。
- 検索結果が何件か表示されるが、▲武将データ.jaf の「lint 固有武将登録(...)」が関数定義なので、それをクリックして開く。
- 21行目、「CHB(...)」の 150 を 300 に変更する。
- Ctrl+Shift+B を押す。一覧から「system4: compile」を選択すると、変更した jaf がコンパイルされる。(少し時間がかかる)
- 注意: 戦国ランス.ain ファイルは上書きされる。
- F5 キーを押す。「xsystem4.exe is not found in this workspace. Do you want to download the latest version from GitHub?'」と聞かれたら「Yes」を選択すると、xsystem4がダウンロードされ、ゲームの実行が開始される。
- せっかくなので、デバッグ機能を少し使ってみよう。先ほど変更した▲武将データ.jafの21行目、行番号の左側のスペースをクリックすると赤い点が表示される。これはブレークポイントといって、実行がその行に到達すると一時停止する。
- タイトル画面で「はじめから」を選択すると実行が止まり、ブレークポイントを設定した行がハイライトされるはずだ。左側の「変数」の欄から変数の現在値を確認したり、「コールスタック」から関数呼び出しの経路を確認したりできる。
- これで先ほど変更した部分が実行されていることを確認できた。ここから1行ずつステップ実行したりもできるが、今回は右上の再生ボタン(続行(F5))を押して実行を再開しよう。最初の合戦でランスの兵数が300になっていれば改造成功だ。