Force.comの開発環境

Force.comの開発環境としてメジャーなのは下記かと思います。

  • SalesforceのWeb画面
  • Force.com 開発者コンソール
  • Eclipse + Force.com IDEプラグイン

Force.com開発者コンソールは結構良くできていると思います。オートコンプリート機能もあるし、デバッグログも表示できます。さらにSOQLも実行できます。Webベースでここまで開発環境を作るか!と思いました。ブラウザがクラッシュしたり、誤って閉じてしまっても直前の状態を保持していたり、気が利いているところも素晴らしいです。

Eclipse + Force.comIDEプラグインについては、(自分の設定が不足しているのかもしれませんが)オートコンプリートされないようです。デバッグログも統合されていないので、SFDC Web画面もしくは、Force.com開発者コンソールを併用する感じになります。 私の場合は、小さくコーディング→実行→ログで動作確認という小さいサイクルを繰り返すので、ちょっとツライ。 これならForce.com開発者コンソールのほうが良いかなと思っていたところ、Sublime Text3+MavensMateで統合開発環境ができるようなので、環境準備して試します。

環境準備

全体的な環境

  • 手元の環境 Windows10
  • SFDC Summer '15(APIバージョンv34)
    • Developer組織
  • Sublime Text3 Build 3083
  • MavensMate for Sublime Text v5.0.0
  • MavensMate-app v0.0.6

Sublime Text3

Sublime Text 3をインストール

下記サイトからダウンロード、インストールします。

http://www.sublimetext.com/3

 Package Controlをインストール

  • 下記ページのテキスト(import urllib ..(snip).. write(by) 部分)をコピー
https://packagecontrol.io/installation#st3
  • Sublime Text 3のメニューバー、View > Show Console
  • 表示されたコンソールにペースト、Enterキーでインストールされます。

MavensMateパッケージのインストール

  • Preferences > Package Control
  • Forcecom-dev1.png
  • "Package Control: Install Package" を探してEnter
  • Forcecom-dev2.png
  • "MavensMate" を探して Enter
  • Forcecom-dev3.png
  • パッケージがインストールされますが、下記のエラーが表示されます。
[ERROR]: Could not contact local MavensMate server, please ensure MavensMate-app is installed and running (https://github.com/joeferraro/mavensmate-app/releases). MavensMate will not run properly until resolved. For more information, please visit https://github.com/joeferraro/MavensMate-app#mavensmate-app
  • Forcecom-dev4.png
  • MavensMate-appというサーバー機能が必要なのでインストールが必要ということです。(バージョン5からこういう仕組みに変更になったようです)

MavensMate-appをインストール

  • 書いてある通り、下記URLで確認。
https://github.com/joeferraro/MavensMate-app#mavensmate-app
  • リリースページでバイナリ配布されています。ダウンロードしてインストールします。
https://github.com/joeferraro/MavensMate-app/releases
  • Mavensmateapp-1.png
  • MavensMate-appは接続するSalesforce組織ごとに"Project"という単位で管理するようです。プロジェクトを保存するパスを設定します。
    • Settings > MavensMate Settings > Workspaces (mm_workspace)へ設定記述します。(JSON format)
[
  "C:\\Users\\shinsaka\\workspaces-mm"
]
  • Mavensmateapp-2.png
  • Mavensmateapp-3.png

Project作成

  • New Project を選択します。
  • Mavensmateapp-4.png
  • Project Details に各種情報を入力します。
    • パスワードフィールドはいつものです。(パスワード+セキュリティトークン)
  • Mavensmateapp-5.png
  • Create ProjectをクリックするとSFDCと接続し、Projectが作成されます。Open in Sublimeをクリックすると連動してSublime Text3が起動します。FOLDERSペインにApexClassたちが表示されます。
  • Mavensmateapp-6.png

オートコンプリート

オートコンプリート機能を試してみます。

  • Exec-1.png
  • 項目がサジェストされるのを期待してAccountオブジェクト(=取引先)で試してみますが、ダメです。どうやらオブジェクトの情報を取得できていないことが原因のようです。

プロジェクト設定を変更する

  • MavensMate-appへ戻り、Project Homeのメニュー > Project > Edit Projectを選択します。(ちょっとメニューの階層がわかりにくい)
  • Mavensmateapp-edit-1.png
  • Advancedページで"CustomObject"を選択します。
  • Mavensmateapp-edit-2.png
  • 続いて、Project Metadataページで"CustomObject"をチェックします。(必要なメタデータだけをダウンロードできるように考慮されているようです)
  • Mavensmateapp-edit-3.png
  • Update Projectをクリックしてちょっと待ちます。
  • Mavensmateapp-edit-4.png
  • 設定が完了しました。この時点で情報がダウンロードされて更新されています。
  • Mavensmateapp-edit-5.png

再度オートコンプリート機能を確認

  • Sublime Text3へ戻り、確認します。今度は期待通りAccountオブジェクトの項目がサジェストされます。素晴らしい。
  • Exec-2.png

デバッグログの確認

  • 次はデバッグログです。これは簡単、メニューからロギング開始・終了できます。
  • Sublime Text3のメニュー > MavensMate > Debugging > Start Logging
  • Debug-1.png
  • SFDC側でApexが実行されるような操作をすると、プロジェクト内のディレクトリ(project/debug/logs/)へ自動的にログがダウンロードされます。素晴らしい。(※MavensMate for Sublime Text ver4では、毎回Log Fetchする必要があったのが、自動ダウンロードに改善されている)
  • Debug-2.png

facebook slideshare rubygems github qiita