いつも JSON をちょちょいときれいに整形して見るときにはコレ
potterhsu/JsonViewer: JetBrains IDE plugin for viewing formatted JSON text on tool window.
を使っているのだが、これの SQL 版がほしいと思った。
ニーズは SQL を整形して見たいだけ、
巷のオンラインで SQL 整形する系のサービスでは、なんとなく業務で扱う SQL を貼りつけるのは抵抗がある、
手元でちょちょいとやりたい。
というわけで、 IntelliJ のプラグインとしてつくってみた。
(すでにあるのかもしれんけどチャチャッとつくれそうだったので・・・)
(ちなみにコマンドラインで SQL 整形するのには darold/pgFormatter を使っている)
プラグイン開発環境を整える
Plugin Devkit
IntelliJ の Plugin Devkit
が有効になっている必要がある。
Preferences
- Plugins
で確認し、有効になっていない場合は有効化する。
UI Designer
また、UI のあるプラグインをつくる場合は UI Designer
というプラグインもインストールしておく必要がある。
これがあると .form
ファイルからソースを生成してくれるっぽい。
IntelliJ Plugin Development introduction: GUI form designing
こちらにあるように、 Preferences
- Editor
- GUI Designer
で、
Generate GUI info
を Java source code
に変更しておく。
プラグインのコードを書く
処理は Java で書くようです。
UI は XML 。
今回作ったものはこちら。
ほとんど JSONViewer の真似。正味30分もかからず。
プラグインを公開する
プラグインを jar ファイルに固める
Build
- Prepare Plugin Module 'XXXXXXXX' For Deployment
を選択する。
プロジェクト直下に jar ファイルが出来上がる。
JetBrains のサイトで登録
JetBrains アカウントでログインした状態で JetBrains Plugin Repository にいく。
右上のメニューから Upload plugin
を選ぶ。
Upload new update JAR/ZIP to repository:
とあり、
Upload file
か Get file from URL
か選べる。
zip の作り方がわからなかったので、なんとなく jar ファイルをアップロードするほうを選択。
プラグインカテゴリ( 今回は Viewer
とした )を選んでサブミットする。
いったんサブミットすると、プラグイン情報の Edit 画面になる。
あとは必要な情報を入れていったり、スクリーンショットをアップロードしたりする。
PLUGIN TYPE は Opensource
に、ライセンスは内部で hibernate-orm のコードを使わせてもらっている関係上 LGPL にしました。
最終的にはこのような感じに。