Quick JUnit の Ruby 版っぽい VSCode 拡張作ってみた
この記事は Misoca+弥生 Advent Calendar 2018 2日目の記事です。 Misoca では Ruby を書くお仕事をしています。 Misoca にジョインする前はずっと Java を書くお仕事をしていたので、Ruby 開発について日々勉強中といった感じです。
Qucik JUnit Plugin for Eclipse
Java を書いていた時には Quick JUnit Plugin for Eclipse というプラグインを活用していました。 このプラグインは
- Cmd+9 (Ctrl+9) で テストコードと実装コードをトグルできる
- Cmd+0 (Ctrl+0) で テストコードを JUnit ですぐに実行できる
- テストコードを実行する際に、カーソル位置のテストのみを実行できる
という特徴を持った Eclipse プラグインです。 Java でテスト駆動開発(TDD)をする時にとても重宝していました。
Visual Studio Code 拡張
現在 Ruby を書くときには VSCode を使っています。
という理由から VSCode 拡張を作ってみることにしました。
vscode-quick-rspec
できたのがこちらの拡張です → vscode-quick-rspec
動作イメージは以下のような感じです。
Cmd+9 (Ctrl+9) で実装とテストを切り替えて、Cmd+0 で RSpec を実行しています。 もちろん RSpec の実行は現在のカーソル行を実行します。
これで Quick JUnit のような感覚で、Ruby で開発できるようになりました。
自分で使う用なので Marketplace には上げてませんが、使ってみたい場合には
$ git clone https://github.com/mallowlabs/vscode-quick-rspec.git $ mv vscode-quick-rspec $HOME/.vscode/extensions/
して VSCode を再起動してください。 自分用なのでエラー処理とかは適当です(言い訳)
VSCode 拡張開発の所感
雛形のジェネレーターがしっかりしているので、すぐに開発をスタートできるのが好印象でした。 デバッガもあるし、言語も ES6 で async/await なんかも使えるのでとても快適です。 API も今回作った拡張に必要な分は揃っているという感じで、いろいろできそうだなと感じました。
作っている途中でもうあることに気づく法則
何かを作っていると途中ですでにそれがあることに気づくことはよくありますが、今回も作っている途中で似たような拡張がたくさんあることに気づいてしまいました…。
今回は VSCode 拡張の作り方の勉強になったのでよかった、ということにしたいと思います。
まとめ
VSCode 拡張は思いの外簡単に作れたので、生産性を向上させるような拡張を思いついたらまた作ってみたいです。
明日は @corocn が 「ALB + Lambda + Ruby をセキュアに」する話を書いてくれるみたいです。楽しみですね。