Atom+MavensMateでSalesforceの開発環境を整える
どうも!西村祐二@大阪です。
Salesforceの開発にはForce.com IDEを追加したEclipseやWeb上の開発者コンソールなどがありますが、
使い慣れたエディタでの開発やGitによるバージョン管理を行うために
Atom+MavensMateでSalesforceの開発環境を整えてみたいと思います。
環境
本記事では下記のバージョンで環境構築を行いました。
Mac macOS Sierra 10.12.5
MavensMate Desktop v0.0.11-beta.7
MavensMate for Atom 1.0.10
MavensMate Desktopをインストール
MavensMate Desktopとはデスクトップアプリケーションで
WebブラウザからSalesforceにアクセスせず、このアプリケーションから
プロジェクトの作成やAtomと連携しApex、Visualforceのコーディングが可能となります。
※Atomでコーディングする場合はMavensMate Desktopを常時起動しておく必要があります。
下記リンクから最新版をダウンロードしてください。
Release - MavensMate Desktop
今回はMavensMate-Desktop-0.0.11-beta.7-mac.zip
を使用します。
ファイルをDL、解凍し、アプリケーションを起動させると下記のような画面が表示されます。
設定
SETTINGSアイコンをクリックすることで、MavensMateの設定ができます。
WORKSPACES、SALESFORCE API VERSIONくらい設定し、他はデフォルトのままで問題ないかと思いますが、
どんな設定ができるか下記に記載しておきます。
WORKSPACES (MM_WORKSPACE)
作業ディレクトリをどこにするか設定できます。
私はホームディレクトリ配下に「sf-workspace」というディレクトリを作ってそこを指定しています。
SALESFORCE API VERSION (MM_API_VERSION)
使用しているSalesforceのAPIのバージョンを指定します。
APIのバージョンは下記より確認できます。
Salesforceにログインして設定→開発→API→APEX WSDLの生成→Salesforce.com Apex API version 39.0
Check conflicts before compile (mm_compile_check_conflicts)
チェックボックスをチェックすると
Apex/Visualforceをコンパイルするときにコンフリクトのチェックができます。
Download categorized Apex unit test logs (mm_download_categorized_test_logs)
チェックボックスをチェックすると
プロジェクトフォルダのdebug/
TIMEOUT, IN SECONDS (MM_TIMEOUT)
MavensMateコマンドのタイムアウト時間を設定できます。
デフォルトでは600秒。
POLLING INTERVAL, IN MILLISECONDS (MM_POLLING_INTERVAL)
ポーリング間隔を設定できます。
※ポーリング間隔が長くすると、コンパイル、デプロイ、およびテスト結果の待機時間が長くなります。
DEFAULT METADATA SUBSCRIPTION (MM_DEFAULT_SUBSCRIPTION)
プロジェクトに含めるメタデータタイプを指定できます。
デフォルトでは、ApexClass、ApexComponent、ApexPage、ApexTrigger、StaticResource
Ignore managed metadata (mm_ignore_managed_metadata)
チェックボックスをチェックすると
管理されたメタデータがMavensMateプロジェクトにダウンロードされないようになります。
Use keyring (mm_use_keyring)
キーチェーンサポートを使用してSalesforce.comの資格情報を保存/取得する場合はチェックボックスにチェックしておきます。
チェックなしの場合はパスワードをプロジェクトのconfig/.settings、およびconfig/.org_connectionsファイルにプレーンテキストで保存されます。
Compile Apex/Visualforce metadata with Tooling API (mm_compile_with_tooling_api)
ツールAPIを使用してapexメタデータをコンパイルする場合はtrueに設定します。(コンパイルの問題が発生した場合は、これをfalseに設定してメタデータAPIを使用します)
(Advanced) Use your machine's "unzip" cli to unzip responses from Salesforce.com Metadata API (mm_legacy_unzip)
チェックボックスをチェックすると
メタデータAPIからの応答を解凍する際にローカルの"unzip"cliを使用します。
SUBLIME TEXT LOCATION (MM_SUBL_LOCATION)
Sublime textのパスを指定できます。
ATOM EXECUTABLE LOCATION (MM_ATOM_EXEC_PATH)
Atomのパスを指定できます。
VISUAL STUDIO CODE EXECUTABLE LOCATION (MM_VSCODE_EXEC_PATH)
Visual Studio Codeのバスを指定できます。
MAVENSMATE LOGS LOCATION (MM_LOG_LOCATION)
MavensMateのログの保存場所を指定できます。
フルパスにて指定する必要があります。また、ログファイルを「mavensmate.log」となります。
PLUGIN LOG LEVEL (MM_LOG_LEVEL)
ログレベルを指定できます。
INFO、WARN、DEBUG、VERBOSE、SILLYが設定できます。
Play sounds (mm_play_sounds)
通知音のオン/オフ設定ができます。
MAVENSMATE TEMPLATES LOCATION (MM_TEMPLATE_LOCATION)
テンプレートをGitHubから取得する必要がある場合は、「remote」に設定します。
MavensMate-Templatesをローカルにクローンし、
ローカルファイルシステムのテンプレートをソース化する場合は、 「local」に設定します。
MAVENSMATE TEMPLATE SOURCE (MM_TEMPLATE_SOURCE)
"mm_template_location"が "local"に設定されている場合は、
MavensMate-Templatesプロジェクトをフォークしたディレクトリの絶対パスに設定します。
SALESFORCE FILE EXTENSIONS (MM_APEX_FILE_EXTENSIONS)
Salesforceのファイルとみなすべきファイル拡張子を指定できます。
HTTP PROXY (MM_HTTP_PROXY)
プロキシの設定ができます。
HTTPS PROXY (MM_HTTPS_PROXY)
プロキシの設定ができます。
Purge on delete (mm_purge_on_delete)
メタデータを削除時にHardDelete(復活不可能)な削除にする設定ができます。
Use legacy compile method (mm_legacy_compile)
レガシーなコンパイルを利用する設定ができます。
プロジェクト作成
MavensMate上でプロジェクトを作成します。
Salesforceの環境を選択し「Connect」をクリックします。
接続が完了したら、「Project Name」を入力し、「Create Project」をクリックしプロジェクトを作成します。
プロジェクトの作成が完了したら、下記画面へとなります。
AtomにてMavensMateパッケージをインストール
次にAtomにて、「MavensMate for Atom」をインストールします。
メニューバーのAtom → Preferences → Installの順でクリックします。
検索ボックスに、 「MavensMate」 と入力し、ヒットしたプラグインをインストールします。
Salesforce開発で使えそうなパッケージ
Language Salesforce
Linter Lightning
visualforce pageを作成してみる
作成したプロジェクトをatomで開きvisualforce pageを作成します。
今回、APIの名前は「test」としました。
visualforce pageの作成が完了するとプロジェクトのディレクトリ内に「pages」が作成されます。
次にtest.pageファイルを編集し、保存し、Salesforceへ反映されているか確認します。
画面上に「Hello World from atom」が表示されるように編集しました。
MavensMateからSalesforceへアクセスすることができます。
Salesforce上からでもローカルで作成したvisualforce pageが作成されていることがわかります。
まとめ
Atom+MavensMateでSalesforceの開発環境を整えてみました。
今回はエディタをAtomにしましたが、Atom以外にもSublime text3、Visual Studio Codeでも同様にSalesforceの開発環境を作ることができます。
また、今回紹介した方法以外にもSalesforce DXという新しい開発環境が開発されているので、今後の動向をウォッチしていきたいと思います。