PSDをテキストエディタで開く時代！次世代ツールExtract for Bracketsの使い方

PSDからコーディングに必要な情報を抽出する技術がAdobeから[Creative Cloud Extract](http://www.adobe.com/jp/creativecloud/extract.html)としてリリースされており、Bracketsでは[Extract for Brackets (Preview)](https://helpx.adobe.com/jp/creative-cloud/help/extract-css-images-psd-files.html)（以下Extract）というエクステンションとして、インストーラーに標準で組み込まれています。

Extractを使用することによりBrackets内でPSDを読み込み、各種コード・画像をその場でコードヒント（Ctrl+Space）で抽出・反映させることが出来ます。
![extract-demo.gif](https://qiita-image-store.s3.amazonaws.com/0/48404/b2fa0555-27c7-85c9-93f3-362c0343fe30.gif)


コーディングの効率化に大きく貢献してくれるExtractのどのように使えばよいか、順を追ってご紹介していきます。

* 基本的な使い方はこちら→[Bracketsの機能紹介、使い方解説](http://qiita.com/assialiholic/items/c8137321c7599a168b16)
* その他の便利エクステンション集はこちら→ [Brackets おすすめエクステンション集・解説](http://qiita.com/assialiholic/items/c7962f804cdb21a49327)

# 下準備～起動
Extractを使用するには、Creative Cloud（以下CC）のドライブにファイルがアップロードされている必要があります。
CCのステーションソフトをインストールすると自動でPCのユーザー名フォルダ内にフォルダが作成されますが、Adobe IDの作成～ステーションソフトのインストールが必要な方は、[こちらの記事](http://qiita.com/assialiholic/items/8e862a20b8be11aa7c5b#%E4%B8%8B%E6%BA%96%E5%82%99)をご参照ください。

元々ファイルがCCドライブにある場合はそのまますぐに使用でき、アップしていない場合はBracketsからExtractを起動した段階でドロップしてアップロードすることもできます。
（ただし**ファイル名に日本語が使われていると、ファイルを開くことが出来ません**）
![upload.png](https://qiita-image-store.s3.amazonaws.com/0/48404/93f84fe5-f941-2fa9-b91b-d6d6cc64496f.png)

# width/height値の取得
レイヤー、レイヤーグループのwidth/height値を取得することが出来ます。
レイヤーの場合はPSD内の要素を直接、または右側のレイヤーツリーを選択することにより、レイヤーグループの場合はレイヤーツリーから選択することにより、情報がポップアップで表示されます。
![width-height.png](https://qiita-image-store.s3.amazonaws.com/0/48404/60e3f49e-4a11-06b9-9b93-f7cb18e9003a.png)

またポップアップ内の%をクリックすると、表示単位を%に切り替えることが出来ます。
このとき表示される値は、カンバスのwidth/heightそれぞれの全体を100%とした相対値です。
![width-height02.png](https://qiita-image-store.s3.amazonaws.com/0/48404/6ff28579-218b-569c-cc21-f00a417ddf39.png)

# 位置情報の取得
こちらも上記のwidth/heightと同ポップアップ内で、カンバスの左上を起点としてX値・Y値を取得することが出来ます。
正直これだけだとあまり使い道は無いのですが、**Shiftを押しながら2つ目のレイヤーを選択する**とレイヤー間の相対位置を表示することが出来ます。
![position.gif](https://qiita-image-store.s3.amazonaws.com/0/48404/44f7cf50-7bb3-cced-6edd-2f52acb570e9.gif)

# 画像の抽出（スライス）
レイヤーを選択した状態で、imgタグ内src属性でコードヒントを表示すると、レイヤーを画像としてそのままスライスするポップアップ「アセットを抽出」が表示されます。
![image.gif](https://qiita-image-store.s3.amazonaws.com/0/48404/641b9f2d-31ae-978e-1f82-a8402c581a85.gif)

また複数のレイヤーを1枚の画像として出力したい場合は、Shiftを押しながらレイヤーを複数選択した状態でコードヒントを表示させます。（ただしちょっと重いです）
![image02.gif](https://qiita-image-store.s3.amazonaws.com/0/48404/39bac4e3-fc52-4fe6-a537-a547f416f3d9.gif)

残念ながら2015年10月12日時点のWindows版では、ファイル名や拡張子を変更して出力しようとすると上手く動作しません。（下記、CSSで背景画像として書き出す場合は大丈夫です）

# CSSスタイルの取得
スタイルを取得したいレイヤーを選択状態にしたままCSSファイルにてコードヒントを表示すると、自動でスタイルを取得・反映させることが出来ます。
![css.gif](https://qiita-image-store.s3.amazonaws.com/0/48404/07b694c4-7be1-f080-cc32-370108af5a05.gif)

レイヤーを背景画像として使用したい場合も、HTMLの場合と同じように画像をその場で抽出出来ます。
![css02.gif](https://qiita-image-store.s3.amazonaws.com/0/48404/4eb1b235-ac5d-2c9f-6ba6-172791381091.gif)

# テキストの取得
テキストレイヤーを選択したポップアップ内の「テキストをコピー」から、テキスト情報をそのままクリップボードにコピーすることが出来ます。
残念ながら2015年10月12日時点では日本語をコピーするとHTMLエンコードされた状態でコピーされてしまいます。

* [Brackets Tools](http://qiita.com/assialiholic/items/7ee66c7097abae3c32ad#html%E3%83%87%E3%82%B3%E3%83%BC%E3%83%89)等のプラグインを使用して、ペースト後にHTMLデコードする
* [Creative CloudアセットのExtract](https://assets.adobe.com/)（要はWeb版）を使う

のいずれかで、根本的ではありませんが解決することが出来ます。
（画像はBrackets Toolsを使用した場合）
![text.gif](https://qiita-image-store.s3.amazonaws.com/0/48404/fee0659f-8d32-0b54-87de-a19a4c21ccc9.gif)

# 実際の使用にあたって
正直、ExtractのパフォーマンスはPSDの内部構造に左右されるところも大きいです。
初めからExtract使用を意識した綺麗なレイヤー構造のPSDを使えればベストなのですが、実際の現場ではなかなかそうも行かないと思います。
私の場合はオリジナルのPSDはバックアップを取った上で

* ある程度レイヤーを整理する
* 1枚画像として切り出したい複数レイヤーは、なるべくスマートオブジェクト化する

ということをしています。
いずれにしても、無理してPSDを整理して普通にコーディングするより遅くならないよう、どこまでExtractで抽出するか事前に線引きをするようにしています。

なお具体的にどのようなポイントに注意してPSDを作成すれば良いかは、こちらのサイト様がとても参考になります。
→[HTML／CSSコーディング時間を激減させる「Creative Cloud Extract」と、その真価を引きだすための10のポイント
](http://codezine.jp/article/detail/8493?p=2)

***

以上、Extractの基本的な使用方法でした。
未だPreview版であるためところどころ不安定なところもありますが、上手く使えればかなり効率的にコーディングを行えると思います。
ぜひ上手な付き合い方を見つけて、快適なBracketsライフをお送りください！