アレなタイトルですがTUIなコンソールアプリを作ってみました。

百聞は一見に如かずということでまずはこちらをご覧ください。

 

今のところこんな感じな機能があります。

  • ログインユーザ情報の表示
  • SOQLの実行・レコード一覧表示
  • レコードの全項目を表示
  • 全オブジェクトを表示
  • オブジェクトの全項目を表示
  • オブジェクト系の機能はファジーな検索が可能

デモ画像内では紹介していないですが、レコード一覧で e を押すとWebの編集画面に、oを押すと詳細画面に飛びます(ブラウザが立ち上がる)

Execute Anonymousというパネルもありますが現在開発中ですm(_ _)m

Windowsのバイナリも準備していてインストールができるものの、レイアウトが崩れてしまっているので現状はmacOS、Linux専用、という感じです。ここは早めに直していきたい…。

インストール方法

Linux・macOSユーザ向け

Golangユーザ向け

使い方

で起動してパスワードを入力すると、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日目の投稿になります!