understandard

2014-12-15

Alfred と Dash で高速検索

この記事は Alfred Advent Calendar 2014 – Adventar 15日目の記事です。

Alfred + Dash でコードを書いているときの調べ物をちょっと便利にしてみます。
Alfred の Powerpack ($19.99) が必須です。

そもそも Dash とは何か

Dash

Dash は、PHP や HTML など150以上のドキュメントセットがオフラインで確認できる Mac 用アプリケーションです。
「Documentation Browser, Snippet Manager」とあるように、スニペットの管理機能もありますが、今回はドキュメントセットのほうを。

Dash – Documentation Browser, Snippet Manager – Kapeli

必要なものを自分で選んでダウンロードしておくことで、オフラインでも検索が可能です。
ドキュメントセットに更新があった場合には、オンラインになった時に自動アップデートされます。

Dash ドキュメントリスト

ざっくり検索してみたところ、2012年の初頭から日本語での紹介ブログがちらほらあるので、そこそこ前からあるアプリケーションのようです。
App 内課金で2,000円支払うと、検索時の待ち時間が0秒になるので、支払っておくとより便利になります(無課金版は7、8秒待機時間あり)。

Alfred と組み合わせて使う

Dash の Preferences から Integration タブを開くと、対応したアプリケーション一覧が表示されます。

Dash 対応アプリケーション一覧

この中にある Alfred のアイコンをクリックします。
そうすると、Alfred の Workflow にこのように表示されるので、適宜カテゴリーを選択してから Import ボタンを押します。

Alfred に Dash の Workflow を追加

これを設定するだけで Alfred から Dash が使えるようになります。

細かな調整でより高速に検索する

WordPress の Codex をダウンロードしていた場合、デフォルトでは「wordpress get_posts」のように検索することができます。
「dash get_posts」でも検索は可能ですが、検索対象がより広範囲になるため、検索する内容やダウンロード済みのドキュメントセットによっては不要な検索結果が大量に表示される可能性があります。

Alfred で Dash 内のドキュメントを検索

頻繁に検索するのに、毎回「wordpress」と入力するのは手間なので、このタイプ数を減らすための設定をします。
設定は、Dash の設定画面から。

1. Dash の設定画面にある Docsets を開く
2. WordPress の欄にある「wordpress:」を「wp:」に書き換える
3. 数秒待つと Alfred の Workflow が自動的に書き換わる

設定が完了すると、「wp get_posts」で検索できるようになります。

ドキュメント検索の接頭辞を短く設定

その他のアプリケーションとの連携

先にスクリーンショットを出したように、その他にも連携可能なアプリケーションが多数あります。
一例として Sublime Text から WordPress の get_posts() を 検索してみます。

ドキュメントの確認や直接ダウンロードは以下より
DashDoc – Packages – Package Control

Alfred から調べる場合は先に書いた通りですが、Sublime Text から Dash を使う場合は、調べたい内容を選択もしくはキャレットが関数名に置かれている状態でショートカットキー(ctrl + h)を使います。

Sublime Text 内から Alfred と同様に絞り込みができたら素敵なんですが、現時点でそのような形にはなっていません(他のアプリケーションでは可能なのかもしれませんが)。
また、接頭辞での絞り込みができないので、場合によっては目的の情報までたどり着くのに時間がかかるかもしれません(ほkry)。

response

leave a reply

your email address will not be published.

you may use these HTML tags and attributes: <a href="" title=""> <em> <i> <strong> <blockquote cite=""> <q cite=""> <cite> <pre> <code> <del datetime=""> <ins datetime="">