アレなタイトルですがTUIなコンソールアプリを作ってみました。
百聞は一見に如かずということでまずはこちらをご覧ください。
今のところこんな感じな機能があります。
- ログインユーザ情報の表示
- SOQLの実行・レコード一覧表示
- レコードの全項目を表示
- 全オブジェクトを表示
- オブジェクトの全項目を表示
- オブジェクト系の機能はファジーな検索が可能
e
を押すとWebの編集画面に、o
を押すと詳細画面に飛びます(ブラウザが立ち上がる)
Execute Anonymousというパネルもありますが現在開発中ですm(_ _)m
Windowsのバイナリも準備していてインストールができるものの、レイアウトが崩れてしまっているので現状はmacOS、Linux専用、という感じです。ここは早めに直していきたい…。
インストール方法
Linux・macOSユーザ向け$ curl -sL http://install.freedom-man.com/lui.sh | bash
Golangユーザ向け
$ go get -u github.com/tzmfreedom/lui
使い方
$ lui -u USERNAME [-e LOGIN_HOST(e.g. test.salesforce.com)]
で起動してパスワードを入力すると、luiのパネルが表示されます。
操作方法はこんな感じです。
Tab
=> パネル移動Ctrl + c, Ctrl + q
=> コンソールを終了- SOQL画面
Ctrl + e
=> SOQLを実行してレコード画面に移動
- レコード画面
e
=> 編集画面に遷移。ブラウザ立ち上げo
=> 詳細画面に遷移。ブラウザ立ち上げEnter
=> 詳細ビューを表示
- Describe Global
j, ↓
=> 下に移動k, ↑
=> 上に移動Ctrl + F
=> 検索ダイアログを表示
- Describe Field
j, ↓
=> 下に移動k, ↑
=> 上に移動q
=> Describe Globalパネルに移動Ctrl + F
=> 検索ダイアログを表示
- 検索ダイアログ
Enter
=> 一覧パネルへ戻る
モチベーション
- SOQL Viewerとオブジェクトの項目名・データ型を確認する作業はSalesforce開発では何回も行われる作業で、ローカルのコンソールで作業している場合は行き来が面倒
- Salesforceのツール全般として、CUI/GUI(IDE含む)は色々とツールが揃っているけどTerminal UIは無かった
- Terminal UI作ったことなかったのでチャレンジしたかった(←これが一番大きな動機w
利用技術
- Golang製
- TUIライブラリとしてはgocuiを利用
- GolangからのSOAPクライアントとしてはgo-soapforceを利用
ということでLAND以外のツールのご紹介でした! 2ヶ月くらい開発放置しててだいぶ中途半端なコンソールなので、皆様のコントリビュートをお待ちしております〜
この投稿はSalesforce Platform Advent Calendar 2018 - Qiita 5日目の投稿になります!