今まで、Salesforceの開発環境といえば、DeveloperConsoleか、EclipseのForceIDEを使ってきました。
どちらもいいツールなのですが、前者は
- ・Webベースなので、動きがまったりしている。
- ・ネットワークなどの調子により、書いたソースが保存されず、無駄になったことも何度か。。。
など、Webでの開発環境であるがゆえの使いづらさがあったり、後者は
- ・Eclipseという統合開発環境ゆえ、開くまでに時間がかかる。
- ・ソースのSFDCへの反映がどうもうまくいかない場合がある。
- ・Apexログの確認やデバッグがやりにくい。
などの不満がありました。
最近、「SublimeText3というすばらしいテキストエディタがあって、Salesforceの開発環境も構築できるよ。しかも軽いから快適!」ということを教えてもらったので、早速試してみました。
開発環境の全体構成
最初に、開発環境の全体的な構造を理解しておきましょう。
この仕組みには2つのアプリのインストールと設定が必要です。MavensMate(MavensMate-Desktop)とSublimeText3です。
SublimeText3は基本的にはテキストエディタですので、ソースの編集などに使用します。SublimeText3のコード補完機能や便利なマクロが利用できるので、快適なコーディング環境が用意できるというわけですね。
MavensMateはSublimeText3とSalesforceの中に位置し、両者をつなぐプロキシ・サーバのような役割を担います。
SublimeText3から要求やコマンドを投げると、代わりにSFDCにログインしてメタデータ情報を取得したり、データを更新したりします。
開発環境の構築手順
MavensMate-Desktopのインストール
まずはMavensMate-Desktopをこのページのリリースページからダウンロードしてインストールします。特に難しいところは無いと思います。
SublimeText3から利用するときには起動させておかないと、SFDCに接続できませんので、そこは注意しましょう。
proxyの中の環境からアクセスするには
環境によってはProxyServerを経由してSFDCにアクセスする必要があります。そんなときには、MavensMateのグローバル設定でプロキシを設定しておきます。
下記の矢印のように、「歯車」アイコンをクリックして設定を表示し、「HTTP PROXY (MM_HTTP_PROXY)」と「HTTPS PROXY (MM_HTTPS_PROXY)」にサーバを指定します。
どちらもhttpであることに気をつけてください。(環境によるでしょうが。)
SublimeText3のインストールと設定
次にSublimeText3をここからダウンロードしてインストールします。
その後、SublimeText3を起動して、いくつか設定を行います。
まずは、パッケージコントロールの仕組みを導入しましょう。開発環境は「MavensMate」というパッケージを使うので、それをインストールするためです。
Package Control のインストールは「View > Show Console」でコンソールを開き、このページの赤枠のテキストをコピーして、コンソールに貼り付け、Enterを押します。
下記の図の矢印のように、PreferanceにPackageControlがあればインストールされているはずです。
OKでしたたら、「MavensMate」パッケージをSublimeText3に追加します。
Preferance->PackageControlを選択し、「Insta..」と入力して表示される「Install Packages」を選択します。
すると、パッケージ管理の状態になるので、ここで「Mavens..」と入力して表示される「MavensMate」をインストールします。(MavensMate-Desktopは起動しておかないとエラーになるので、きをつけてください。)
こんな感じでメニューに「MavensMate」が表示されていれば成功です。後は、「Create Project」で新しいSFDCプロジェクトを作って開発を開始しましょう。
具体的な開発過程やTipsはまた別の記事で。
よくあるエラーと対処法
開発環境構築時に良く遭遇するエラーとその対処法をまとめておきます。まぁ、「良く」というか、私が遭遇したエラーですが、、、。
MavensMate-Desktopが起動してない
[ERROR]: Could not contact local MavensMate server, please ensure MavensMate-app is installed and running.
このエラーはMavensMate-Desktopが起動していないためにおきます。直訳すると「ローカルのMavensMateサーバに接続せきません。インストールされて動いているか確認してください。」ということなので。。
SublimeText3.exeへのパスが間違っている
[ERROR]: result.resolve is not a function
または
[ERROR]: Could not open project. mm_sublime_text_executable_location path does not exist, please check your user plugin settings.
のエラーが出る場合は、SublimeText3.exeのパスを疑ってみましょう。お互いにそのパスを知らないと、コマンドの起動とかができないために上記のようなエラーが出ます。
設定場所は、
MavensMate側はグローバルセッティングの「SUBLIME TEXT LOCATION (MM_SUBL_LOCATION)」の項目
SublimeText3側は、「MavensMate」->「Setting」->「User Plugin Settings」から開いた設定ファイルの出「mm_sublime_text_executable_location」の項目です。
ここに、SublimeText3.exeへの絶対パスを指定すればOKです。