Atom + MavensMateでSalesforce開発環境を作成する

(2017/8/8追記) [MavensMate](http://mavensmate.com/)の開発およびサポートの終了が発表されました。今後はSalesforce公式から出ている[Visual Studio Codeの拡張機能](https://marketplace.visualstudio.com/items?itemName=salesforce.salesforcedx-vscode)の利用が推奨されています。

---

Atom + Mavensmate（今年のアップデートでLightning開発に対応しました）を利用した、Salesforce開発環境の作成手順です。
以下のバージョンで確認しています。

- MavensMate-app v0.0.10
- Atom 1.3.1
- MavensMate-Atom 1.0.7

※Mac版をベースに書いていますので、Windows版ではショートカットやメニューへのアクセス方法が一部異なります。

## セットアップ手順
### MavensMate-appのインストール
[https://github.com/joeferraro/mavensmate-app/releases](https://github.com/joeferraro/mavensmate-app/releases) からパッケージをダウンロード＆インストールします。    
<img width="600" alt="MavensMate-app" src="https://qiita-image-store.s3.amazonaws.com/0/39902/62735478-ddc2-c9dd-91cf-f890f3e9d2f9.png">

### Atomのインストール
1. [Atom](https://atom.io/)をインストールします。
2. Atomプラグインの **MavensMate for Atom** をインストールします。
    1. Atomを起動し、メニューバーから ```Atom > Preferences... > Install``` を開きます。
    2. 検索テキストボックスに "MavensMate" と入力し、*Package* ボタンをクリックしてプラグインパッケージを検索します。検索結果に *Mavensmate-Atom* が表示されるので、*Install* ボタンをクリックします。    
<img width="600" src="https://qiita-image-store.s3.amazonaws.com/0/39902/8b55f194-7921-372c-adaa-d99336088221.jpeg">
    3. Atom のメニューバーに ```MavensMate``` が追加され、MavensMateの各種メニューが利用できるようになります。**メニューを実行する時はあらかじめMavensMate-appを起動しておく必要がある**ので、常に起動状態にしておきましょう。    
<img width="240" alt="スクリーンショット 2015-11-06 16.16.26.png" src="https://qiita-image-store.s3.amazonaws.com/0/39902/2e5aee9a-c776-edc6-2f82-05ac4a6832bd.png">

### ワークスペースフォルダの設定
1. Atomのメニューバーから ```MavensMate > Settings > Global Settings``` を開きます。 
2. *Workspaces (mm_workspace)* にワークスペースフォルダのパスを入力します。ここで設定したパスは、プロジェクト作成時に作成先フォルダとして選択できるようになります。    
<img width="600" src="https://qiita-image-store.s3.amazonaws.com/0/39902/103768e2-0cfe-f4e6-c906-a7365a837486.jpeg">


## プロジェクトの作成

### 新規プロジェクトを作成する
1. Atomのメニューバーから ```MavensMate > Project > New Project...``` を開きます。
2. 以下の設定を入力し、*Create Project* ボタンをクリックします。
  - プロジェクトの作成先フォルダ
  - プロジェクト名
  - Salesforceユーザ名
  - Salesforceパスワード
  - Salesforce組織のエディション
<img width="600" alt="スクリーンショット 2015-11-06 16.07.58.png" src="https://qiita-image-store.s3.amazonaws.com/0/39902/49806b18-933d-cc7d-1134-7f4cb1d3dd07.png">
3. ワークスペースフォルダに新規プロジェクトが作成されます。

### 既存のForce.comプロジェクトをMavensMateで使用する
Force.com IDE (Eclipse) で作成したプロジェクトや別環境で作成したMavensMateプロジェクトを追加する場合、以下の手順でプロジェクトを作成します。

1. Atomのメニューバーから ```File > Add Project Folder...``` を開き、Force.comプロジェクトのフォルダを開きます。
2. ```View > Toggle Command Palette```（command + shift + p）でコマンドパレットを開き、*Mavensmate: New Mavesmate Project From Existing Directory* を実行します。    
<img width="320" src="https://qiita-image-store.s3.amazonaws.com/0/39902/89041a55-fd52-f883-ba78-10e8a39e1d2c.jpeg">
3. 新規プロジェクトを作成する場合と同様に設定を入力し、*Create MavensMate Project* ボタンをクリックします。    
<img width="480" alt="スクリーンショット 2015-11-05 17.52.27.png" src="https://qiita-image-store.s3.amazonaws.com/0/39902/a6b0129e-05ec-fd19-3dc0-0b402d3dc986.png">
4. 既存のプロジェクトから新しいプロジェクトが作成され、MavensMateの各種メニューが利用できるようになります。

###現時点での使ってみた感想
普段はSublime Text 3 + MavensMateで開発しています。
Atom版では開発工程はひと通りこなせますが、Sublime Text版と比較すると不便に感じる点があります。

#### MavensMate for Atomの問題
- ファイル・フォルダ上での右クリックメニューが充実していない
  -（個人的には、フォルダ単位で *Refresh from Server* が出来ないのが残念です）

#### Atomの問題
- ファイル単位でシンタックスハイライトの設定が変更できない
  - 静的リソース上に配置したJS・CSS（拡張子.resouceのファイル）を編集する時はつらいです。
- .resourceファイル編集中にコメントアウト（ctrl + /）が効かない

今後のアップデートに期待しつつ、より開発効率を上げるためのカスタマイズも模索していきたいところです。

###参考リンク
- [MavensMate - Open Source IDEs for Salesforce](https://github.com/joeferraro/MavensMate)
- [MavensMate for Atom - atom.io/packages](https://atom.io/packages/mavensmate-atom)
- [Sublime Text3+MavensMateでSalesforce.comの開発環境を作る - Qiita](http://qiita.com/shinsaka/items/afccc666eb14e5ef8e9b)