Bve5 Language Support for VSCode
VSCodeでBveTrainsim5.7構文をサポートするための拡張です。
Features
本拡張では、以下の機能をサポートしています。
- シンタックスハイライト
- コード補完
- ホバー表示
- 構文のヒント表示(シグネチャヘルプ)
- スニペット挿入
- マップファイルの距離程表示
なお、ファイルの種別によって対応する機能が異なります。
現在対応しているファイル種別と機能を以下の通りです。
ファイル種別 |
vscode上での文法名 |
シンタックスハイライト |
コード補完 |
ホバー |
シグネチャヘルプ |
スニペット |
マップファイル |
BveTs Map 2.02 |
○ |
○ |
○ |
○ |
△ |
車両ファイル |
BveTs Vehicle 1.00 |
○ |
- |
○ |
- |
○ |
凡例:○
...全構文に対応, △
...一部構文に対応, -
...非対応
Requirements
How to use this extension?
- Visual Studio Codeをインストールして起動し、
Ctrl+Shift+X
、もしくはCmd+Shift+X
を入力して拡張機能パネルを開いてください。
- Marketplaceから
Bve5 Language Support
を検索してインストールします。
- エディタ右下の
言語モードの選択
をクリックしてBveTs Map 2.02
orBveTs Vehicle 1.00
を選択することで拡張を有効化することが出来ます。
Code completion
以下の条件でコード補完を行います。
- 要素名(
Curve
,Gradient
など)を入力した直後、``.(DOT)\
を入力することで、マップ要素に対応する関数名の候補を表示します。
- 構文内のトラックキー、ストラクチャーキー、連続ストラクチャーキーを入力する際にキーの候補を表示します。
トラックキー、連続ストラクチャーキーの補完候補は、現在開いているファイル内で使用されているキーから取得します。
ストラクチャーキーの補完候補は、以下の2種類の方法のうち、どちらかを用いて取得します。
- VSCode上でフォルダを開いている場合は、そのフォルダに含まれる全てのストラクチャーリストファイルから取得します。
- VSCode上でフォルダを開いていない場合は、現在開いているファイル内のロード構文で読み込まれているストラクチャーリストファイルから取得します。
開いているファイル内でストラクチャーリストを読み込んでいない場合、ストラクチャーキーのコード補完が行えないため、Bveの路線編集中はVSCode上でフォルダを開いておくことをおすすめします。
Hover
構文にカーソルを重ねた際に、その構文のヒントを表示します。
Signature Help
構文を入力する際に、引数のヘルプを表示します。
このヘルプは``(\
の入力にトリガーされて表示されるので、スニペット挿入等で``(\
の入力を省略した際は表示されません。これに関しては後々改良するかもしれません。
Snippets
スニペット挿入とは繰り返し入力する記述を自動で入力してくれる機能です。
スニペット挿入に対応している構文を入力するとスニペットの候補が出てくるので、TAB
を押すことで構文を自動で入力、引数の位置へとカーソルを移動してくれます。
なお、マップファイルのスニペット挿入は個人的によく使う、もしくは他の構文と被らないと考えた以下の構文にのみ対応しています。
- Curve.BeginTransition
- Curve.Begin
- Gradient.BeginTransition
- Gradient.Begin
- Track[].X.Interpolate
- Track[].Y.Interpolate
- Track[].Position
- Structure[].Put
- Structure[].Put0
- Structure[].PutBetween
- Repeater[].Begin
- Repeater[].Begin0
- Section.Begin
- Signal[].Put
- Beacon.Put
- CabIlluminance.Interpolate
- Sound[].Play
- Sound3D[].Play
- RollingNoise.Change
- FlangeNoise.Change
- JointNoise.Play
もしスニペットが鬱陶しいと感じたら、設定からスニペットを非表示にしてください。
Distance Checker
マップファイル文法において、VSCodeのステータスバーにカーソル位置の距離程を表示します。
変数や数式が含まれる距離程には未対応ですが、数式に関しては今後サポートするかもしれません。
Support
バグの報告や質問、要望等はIssue、もしくはこちらへどうぞ。
Release Notes
詳細はCHANGELOGを見てください。
0.3.0 - 2018/11/23
0.2.2 - 2018/07/15
0.2.1 - 2018/07/01
0.2.0 - 2018/07/01
0.1.0 - 2018/06/30
License
The MIT License(MIT)
Copyright(c) 2018 aoisupersix
License.md