2017/08/23 いっそう追記
スニペット挿入を大幅に強化したので追記。
2017/08/19 さらに追記
駅名ジャンプ機能を実装したので、それについて追記。
2017/05/27 追記
パッケージの大幅なアップデートを行いました。
マップファイル以外のシンタックスハイライトに対応、
ファイルヘッダーから文法を自動で設定するようになりました。
それに伴い、このページも大幅に改変を加えました。
目次
Atomとは?
Atomは最近登場したGithub製テキストエディタで、
- オープンソースである
- 分かりやすいUIで操作が簡単
- パッケージを始めとする、様々なカスタマイズが可能
- Windows,Linux,MacのどのOSでも利用できる
という特徴があります。
私は、テキストエディタのカスタマイズや操作を覚えるのに時間をかけたくありません。
そのため、Atomの操作が分かりやすく、かつどのOSでも使える点が気に入っており、2015年頃からずっとAtomを愛用しています。と言いつつ実はVimも使ってるのは秘密
当然BVEの路線制作の際にもAtomを利用しているので、制作の効率を上げるために、今回BVE路線制作に役立つパッケージを開発しました。
路線制作で利用するツールの一つとして、ぜひAtomと本パッケージをご活用ください。
language-bveパッケージについて
AtomでBVE5.7構文のシンタックスハイライト、スニペット挿入、マップファイルの指定された駅位置にジャンプする機能をサポートしたパッケージです。
インストール方法
AtomのメニューからPreferences
→Install
と進み、SearchPackages
に’bve’と入力するとlanguage-bve5
というパッケージが出てきます。Install
を押してインストールしてください。
Install
の表示がSetting Uninstall Disable
に変わればインストール完了です。
シンタックスハイライトについて
シンタックスハイライトとは、構文の分類ごとに色やフォントを変えて表示する機能で、以下のファイルの全構文に対応しています。カッコ内は各ファイルのヘッダーです。
シンタックスハイライト対応ファイル
- マップ(BveTs Map 2.02)
- ストラクチャーリスト(BveTs Structure List 2.00)
- サウンドリスト(BveTs Sound List 2.00)
- 停車場リスト(BveTs Station List 2.00)
- 他列車(BveTs Train 1.01)
各ファイルの詳しい構文は、BveTrainsim公式サイトでご確認ください。
シンタックスハイライトや後述のスニペット挿入は、文法を指定することで有効になります。
文法はAtomウインドウの右下で確認、変更できます。デフォルトだとPlain Text
になっている部分です。
また本パッケージは文法の自動判定をサポートしています。
編集中ファイル1行目のヘッダ文字列から、読み込み/編集/保存時に自動的に判定される他、
language-bve:GrammarJudgment
コマンドを実行することで自動判定されます。
ちなみにコマンドは、コマンドパレットを開いて入力します。
コマンドパレットは、WindowsであればCtrl-Shift-P
、MacであればCmd-Shift-P
で開きます。
自動で有効にならない場合や、手動で設定したい場合は、右下の文法をクリックし、目当ての文法に変更してください。
構文の記述方法によっては正しくハイライトが行われない可能性があることをご了承ください。
スニペット挿入について
スニペット挿入とは、繰り返し入力する記述を自動で入力してくれる機能です。
スニペット挿入に対応しているBVEの構文を途中まで入力すると、スニペットの候補が出てくるので、TAB
を押すことで構文を自動で入力、引数の位置へとカーソルを移動してくれます。
スニペット挿入はマップファイルの数学関数を除く全ての構文に対応しております。
BVEのマップファイル構文のほとんどは、Track,Curve,Repeaterといったマップ要素と、それらを操作する関数によって構成されています。
関数名は対応するマップ要素ごとに、似たような名前が付けられており(ex.BeginやEndなど)、挿入したい構文のスニペットを候補の中から絞り込むのが分かりづらいと感じたので、出来るだけ候補を分かりやすく表示するように工夫をしました。
具体的には、候補の左側に対応するマップ要素名を、右側には構文の種類、下に構文の簡単な説明を追加しました。
本当は各引数の説明も載せたかったのですが、スペースの都合上省略しました。
駅名ジャンプ
私が路線を制作する時は、気になっている部分から順に制作していくので、ファイル内でカーソルを大きく移動する必要が出てくることがあります。
そんな時によくやるのが駅の構文を基準に、「このストラクチャはこの駅からこのくらい離れているから…」といった具合に移動させるやり方。
これをもっと楽に行うために、指定された駅名の位置にカーソルを移動させる、駅名ジャンプ機能を実装しました。
駅名ジャンプはコマンドパレットから、language-bve:JumpStation
コマンドで実行できます。
コマンドを実行すると、駅名をリストで表示しているビューが出てくるので、移動させたい駅名を入力、もしくは選択してカーソル位置を移動させてください。
今後の方針など
Atomの仕様上、AutoIndent
がBVE路線制作には適していないので、BVEに適したインデントを実装したいと考えています。
その他には、構文の使い方をテキストエディタ上で見れるようにする、なんてことを考えてます。
現状、Atomのパッケージ制作に関する情報はあまり充実しておらず、手探りで開発を行なっているので、いつ実装できるかは不明です。
その他BVE路線制作に役立つパッケージ
その他Atomで路線制作を行う際に便利なパッケージを紹介します。
autocomplete-paths
現在編集中のファイルからの相対パスを入力補完してくれる。
ストラクチャーリストなどのパスを入力する際にめちゃくちゃ便利。
highlight-selected
選択した文字列と同じ文字列をハイライトしてくれる。
キーの名前を探すときに便利。
clipboard-plus
クリップボードの管理。