Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>RTM Script Helper (RealTrainMod)New to Visual Studio Code? Get it now.
RTM Script Helper (RealTrainMod)

RTM Script Helper (RealTrainMod)

さにーご

|
6 installs
| (0) | Free
RealTrainMod の ES5(Rhino)スクリプトを書きやすくする補完・構文チェック拡張。1.12.2 / 1.7.10 を左サイドバーで切替。
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

RTM Script Helper

RealTrainMod (RTM) のモデルパック用 ES5 / Rhino スクリプトを VSCode で書きやすくする拡張機能です。

  • 構文ミスを赤い波線で表示します(ES5 として解析)
  • RTM / NGTLib のクラス・メソッド、難読メソッド (func_xxxxx_x)、importPackage、init / render / onUpdate などのコールバックを補完します
  • メソッドの戻り値の型をたどって、チェーンの続きを補完します(継承メソッドも含む)
  • renderer は先頭の var renderClass = "..." を読んで正しい型で補完します
  • GL11.(OpenGL)や難読名の意味(field_70177_z → rotationYaw など)も出します
  • メソッドの ( で引数ヒント、識別子にホバーで説明
  • init/render/onUpdate を正しく書いた雛形をコマンドで挿入できます
  • 左サイドバーで 1.12.2 / 1.7.10 を切り替えると、補完候補がそのバージョンの API に変わります

補完データは、それぞれ次のソースから生成しています。

バージョン 生成元
1.12.2 RTM 2.4.24 (forge-1.12.2) + NGTLib 2.4.21
1.7.10 KaizPatchX

使い方

有効になる範囲(普通のJS開発を妨げません)

既定では、RTM スクリプトと判断できる .js のときだけ補完・構文チェックが働きます。判定はいずれか:

  • 中身に RTM 特有の記述がある(importPackage( / Packages. / renderer / registerParts / function onUpdate( など)
  • scripts フォルダ配下にある(RTM モデルパックの assets/.../scripts)
  • ファイル名が Render_… Server_… Sound_… ANSL_… などの RTM らしい名前

そのため、普通の(モダンな)JavaScript ファイルでは ES5 エラーや RTM 補完は出ません。 全ての .js で常に有効化したい場合は、設定 rtmScript.activateOnlyInRtmScripts を false にします。

RTM 専用モード(候補をすっきりさせる)

RTM らしい .js を開くと、自動で 「RTM Script」言語モードに切り替わります(右下の言語表示が RTM Script になります)。このモードでは VSCode 標準の DOM/ブラウザ API 候補(RTCPeerConnection や document など RTM と無関係なもの)が出なくなり、候補が RTM 中心になります。

  • 自動切替を止めたいとき: 設定 rtmScript.autoRtmLanguageMode を false
  • 手動で切り替え: コマンド RTM: このファイルを RTM 専用モードで開く / RTM: 通常の JavaScript に戻す (右下の言語表示クリックでも変更できます)

なお Tab キーで候補が勝手に確定しないようにしています。候補は一覧が出ている状態で ↑↓ で選んで Enter で確定、Tab はインデントに使えます。

バージョンの切り替え

左端のアクティビティバーにある RTM Script アイコンを開くと、バージョン切り替えビューがあります。 1.12.2 / 1.7.10 をクリックすると、補完・構文チェックがそのバージョンに切り替わります (右下のステータスバーの RTM 1.12.2 をクリックしても切り替わります)。

補完

入力すると候補が自動で表示されます。Tab または Enter で確定します。

入力中の状況 出る候補
importPackage(Packages.jp.ngt.rtm. パッケージ階層 + クラス名
jp.ngt.rtm.render. (Packages. 無し / 文字列内でもOK) パッケージ階層 + クラス名
var renderClass = " 描画クラス(VehiclePartsRenderer 等)の FQN
new Pa クラス名(Parts など)
renderer. VehiclePartsRenderer のメソッド(registerParts など)+ 全メソッド + 難読メソッド
entity. EntityTrainBase / EntityVehicleBase のメソッド + 難読メソッド
dataMap. formation. scriptExecuter.(su.) それぞれの型のメンバー
行頭など通常位置 init / render / onUpdate スニペット、importPackage、グローバル変数、クラス名

renderer / entity / dataMap / formation / scriptExecuter(su)/ world は RTM がスクリプトに渡す組込みオブジェクトとして型を推定し、優先的に候補へ出します。

チェーン補完(戻り値の型をたどる)

メソッドの戻り値の型を自動で判別し、その続きを補完します。

ItemWithModel.getModelState(stack).getResourceName()
//             ^ ResourceState を返すと判別     ^ ResourceState のメソッドが候補に出る

ローカル変数も var s = ...; の代入を遡って型を推定します。

var state = ItemWithModel.getModelState(stack);
state.    // ResourceState のメソッドが候補に出る

引数ヒント・ホバー

メソッドの ( を打つと引数のヒントが出ます。識別子(メソッド・クラス・難読名・グローバル)に カーソルを乗せると、シグネチャや意味の説明が出ます。難読名(func_… / field_…)は よく使うものに読める意味(例: field_70177_z → rotationYaw)が付きます。

スクリプト雛形の挿入(全種類)

コマンドパレット(Cmd/Ctrl+Shift+P)で RTM: 新規スクリプト(種類を選んで作成) を実行すると、 次の全種類から選んで雛形を挿入できます。

  • Vehicle(車両)/ Signal(信号)/ Ornament(装飾)/ NPC / Firearm(銃)/ Machine(機械) … init + render
  • Server … onUpdate(entity, scriptExecuter)
  • Sound … onUpdate(su)
  • GUI / LCD … renderGui(vehicle, gui)
  • Rail 描画 … renderRailStatic / renderRailDynamic
  • Rail カスタム形状 … getPos / getYaw / getLength …
  • Wire / 架線 … renderWireStatic / renderWireDynamic

個別に挿入する RTM: Render/Server/Sound スクリプトの雛形を挿入 もあります。

定番パターンのスニペット

rtm- と打つと、定番パターンが候補に出ます(Tab で展開)。

prefix 内容
rtm-render-file / rtm-server-file / rtm-sound-file スクリプト一式
rtm-part / rtm-draw パーツ登録 / 描画(push/pop)
rtm-bogie / rtm-wheel 台車+車輪 / 車輪回転
rtm-door / rtm-doorstate ドア開閉 / ドア状態取得
rtm-panta / rtm-needle / rtm-light パンタ / 計器の針 / 室内灯
rtm-rollsign 方向幕・種別の出し分け
rtm-datamap-get / rtm-datamap-set dataMap の取得 / 保存
rtm-import-render / rtm-import-server importPackage 一式

API チートシート

コマンド RTM: API チートシートを開く で、renderer / GL11 / entity / dataMap など よく使う API の一覧を開けます。

構文チェック

ES5 として解析し、文法エラーを赤い波線で表示します。 例えば ES5 では let / const が使えないため、これらを書くとエラーになります。

設定

キー 既定 説明
rtmScript.version 1.12.2 補完・チェックに使うバージョン(サイドバーからも変更可)
rtmScript.ecmaVersion 5 構文チェックの ECMAScript バージョン。RTM は基本 ES5
rtmScript.enableDiagnostics true 構文エラーの赤表示 ON/OFF
rtmScript.activateOnlyInRtmScripts false true で、RTM らしい記述を含む .js のみ有効化

注意

  • 構文チェックは文法のみで、未定義変数の検出はしません(Rhino の importPackage などで実行時に注入される変数を誤検知しないため)。
  • func_… 難読メソッドは「ソース中での使用箇所」から収集しているため、所属クラスは目安です。
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft