PHPStorm10 の File Watcher機能を使って SCSS + Compass のビルド環境をつくる

PHPStormのFile Watcher機能を使って、Drupalのテーマで SCSS + Compass のビルドをするための設定方法を紹介します。

##前提条件

 * テーマは、[OMEGA4](https://www.drupal.org/project/omega)とする。<br>※ただし、テーマ配下にconfig.rbが設置されていれば何のテーマでも構いません。
![skitch.png](https://qiita-image-store.s3.amazonaws.com/0/39468/445430fa-c6b9-113f-5e73-c31f9dca2792.png)
<br><br>
 * SCSS + Compass のコマンドの実行環境が整備されていること。<br>
※ruby + gemコマンドにて適宜コマンドのセットアップをお願いします。


##実施環境

下のコマンドの組み合わせで実施しました。
「rbenv」「rbenv-gemset」「Bundler」はとくにセットアップしていなくても支障はないです。

 * Macbook Pro (Retina, 15-inch, Mid 2014)
 * Mac OS X 10.11 El Capitan
 * PHPStorm 10.0.4
 * Ruby 2.2.5p319 (2016-04-26 revision 54774)
 * rbenv 1.0.0
 * rbenv-gemset 0.5.8
 * Bundler 1.12.1
 * Sass 3.4.21
 * Compass 1.0.3 
 

##PHPStorm で Compass を有効化する

![skitch.png](https://qiita-image-store.s3.amazonaws.com/0/39468/f4bd6799-7029-194d-ea93-c3d29b4bc19b.png)

「**Enable Compass support**」にチェックを入れます。
チェックを入れると同時に、下のような感じで2項目に自動的にパスがセットされるので基本的に手動で入力しなくても大丈夫です。

**Compass executable file :** ```/Users/[ユーザ名]/.rbenv/shims/compass```
**Config path :** ```/path/to/wwwroot/sites/all/themes/test-site/config.rb```


##SCSS／Compassのビルド設定をする

環境設定 > Tools ＞ File Watchers を開きます。

###Compass SCSSの設定を追加する

![skitch.png](https://qiita-image-store.s3.amazonaws.com/0/39468/62afb2c5-1ca7-b991-a936-216d3818d244.png)

プラスアイコン［+］をクリックすると「Choose Template」ダイアログが表示されるので「Compass SCSS」をクリックします。

###Watcherの設定

Edit Watcher画面が表示されるので以下の通りに設定します。

![skitch.png](https://qiita-image-store.s3.amazonaws.com/0/39468/761b78ee-d9f3-9084-f711-bc9ee43aa348.png)


<table style="-evernote-table:true;border-collapse:collapse;width:100%;table-layout:fixed;margin-left:0px;">
<tr>
<td style="border-style:solid;border-width:1px;border-color:rgb(219,219,219);padding:10px;margin:0px;width:50%;">
<div>File type</div>
</td>
<td style="border-style:solid;border-width:1px;border-color:rgb(219,219,219);padding:10px;margin:0px;width:50%;">
<div>SCSS</div>
</td>
</tr>
<tr>
<td style="border-style:solid;border-width:1px;border-color:rgb(219,219,219);padding:10px;margin:0px;width:50%;">
<div>Scope</div>
</td>
<td style="border-style:solid;border-width:1px;border-color:rgb(219,219,219);padding:10px;margin:0px;width:50%;">
<div>Project Files</div>
</td>
</tr>
<tr>
<td style="border-style:solid;border-width:1px;border-color:rgb(219,219,219);padding:10px;margin:0px;width:50%;">
<div>Program（※）</div>
</td>
<td style="border-style:solid;border-width:1px;border-color:rgb(219,219,219);padding:10px;margin:0px;width:50%;">
<div>/Users/[ユーザー名]/.rbenv/shims/compass</div>
</td>
</tr>
<tr>
<td style="border-style:solid;border-width:1px;border-color:rgb(219,219,219);padding:10px;margin:0px;width:50%;">
<div>Arguments</div>
</td>
<td style="border-style:solid;border-width:1px;border-color:rgb(219,219,219);padding:10px;margin:0px;width:50%;">
<div>compile</div>
</td>
</tr>
<tr>
<td style="border-style:solid;border-width:1px;border-color:rgb(219,219,219);padding:10px;margin:0px;width:50%;">
<div>Working directory</div>
</td>
<td style="border-style:solid;border-width:1px;border-color:rgb(219,219,219);padding:10px;margin:0px;width:50%;">
<div>\$FileParentDir$</div>
</td>
</tr>
<tr>
<td style="border-style:solid;border-width:1px;border-color:rgb(219,219,219);padding:10px;margin:0px;width:50%;">
<div>Output paths to refresh</div>
</td>
<td style="border-style:solid;border-width:1px;border-color:rgb(219,219,219);padding:10px;margin:0px;width:50%;">
<div>\$FileParentDir\$/css/\$FileNameWithoutExtension$.css</div>
</td>
</tr>
</table>

※Program項目の compass コマンドのパスは、whichにて確認してください。

```
% which compass
```


###compass compile のビルドのタイミングを設定する

scssファイル保存時にのみ compass compile を実行したいときは以下のチェックを外します。
（チェックを外さないと編集している最中でもビルドが走ってしまい煩わしいので）

***[x] immediate file synchronization***


設定は以上です。

最後にPHPStormを再起動します。
再起動は忘れがちですが、再起動するまで設定が反映されないことがあるのでご注意ください。



PHPStorm上でscssファイルを編集すれば、ただちにcssファイルがビルドされるようになっているかと思います。