AlloyAnalyzer
VSCode
VisualStudioCode

Alloy Analyzerの開発環境をVSCodeで構築

この記事はGoodpatch Advent Calendar 2018 2日目の記事です。

昨年は仕様記述・検証ツールのAlloy Analyzerでこんな記事を書いてました。
Alloy Analyzerでデータモデルのプロトタイピング - Qiita

データモデルの設計も実装の詳細を考える前にプロトタイピングしてアイデアを素早く検証しよう

この時点ではAlloyのセットアップは公式サイトからjarファイルをダウンロードしてくるというちょっと煩雑な手順でしたが、現在ではVSCodeの拡張をインストールするだけで即実行することができます!

Dec-02-2018 22-28-22.gif

拡張の作者がAlloyのLanguage Server Protocol対応をしていて、ビルド済みのjarファイルが拡張にバンドルされて一緒にインストールされます。
現段階では独自にカスタマイズされたバージョンになりますが、Alloyの本家MLでは本体にマージされる方向で話が進んでいます。
VS Code extension - Google Groups (要グループ参加)

この拡張は単にAlloyをバンドルしているというだけでなくエディターと協調して動作するよう統合されています。

  • ショートカット(Ctrl+Shift+A E)やGUI操作によるAlloyコマンドの実行
  • インスタンスや反例などの解析結果の表示
  • シンタックス/コンパイルエラー表示
  • 定義へジャンプ
  • 参照を検索
  • ファイルをまたいだリネーム
  • アウトライン表示 / シンボルへジャンプ

Swingで作られたAlloy付属のエディターは正直使いづらくAlloy布教の障害となっていたのですが、この拡張のおかげで革命的に書きやすくトライ&エラーがサクサクできるようになりました。

環境が整ったところで、次回の投稿でAlloy Analyzerを用いたUI仕様記述に進んでみようと思います(12/9を予定)。