--- Title: Alfredからコマンド一つで作業環境を初期化する with Automator Author: zk33 Web: 'https://mimemo.io/m/vj5XN4jBL486d73' --- いくつかのプロジェクトを同時に走らせていると、あるプロジェクトの作業の後に、別のプロジェクトの作業を始めようとした際、作業環境を初期化するのが億劫で、「あーめんどくさい」ってついついRSSをチェックしたりくだらない動画を見てしまったりして大変よくないわけです。 というわけで、 * [Alfred](https://www.alfredapp.com/)でプロジェクト名を入力してenterすると、必要なものが全て立ち上がる っていう状態にしたいと長らく思っていたのですが、最近になって、それAutomator使うとよいのでは、ということにようやく気づいたので備忘録を兼ねてメモ。 ## 方法 1. Automatorを起動して「アプリケーション」を新規作成 2. 「アプリケーションを起動」を追加して、起動するアプリケーションに「ターミナル」を選択 ![スクリーンショット 2016-03-21 0.17.58](https://mimemo.s3-ap-northeast-1.amazonaws.com/attachment/5b2cf516-d42b-44b4-b5d7-f872cdbc2a4f.png) 3. 「AppleScriptを実行」を追加 ![スクリーンショット 2016-03-21 0.20.20](https://mimemo.s3-ap-northeast-1.amazonaws.com/attachment/c0556ef7-835c-4aa8-98c6-ee62ac93b05d.png) 4. ↓みたいなスクリプトを記述して保存。(今回はmimemoの例) ``` on run {input, parameters} -- ターミナルをアクティブにして tell application "Terminal" activate -- Cmd+Tを送信してタブを開く tell application "System Events" to keystroke "t" using command down -- タブが開くのをちょっとだけ待つ repeat while contents of selected tab of window 1 starts with linefeed delay 0.01 end repeat -- ディレクトリ移動して do script "cd ~/_work/10mado/mimemo" in window 1 -- Atom立ち上げて do script "atom ." in window 1 -- gulpを走らせて do script "gulp front" in window 1 -- もう一個タブ開いて tell application "System Events" to keystroke "t" using command down repeat while contents of selected tab of window 1 starts with linefeed delay 0.01 end repeat -- ディレクトリ移動して do script "cd ~/_work/10mado/mimemo" in window 1 do script "git status" in window 1 -- ブラウザでテストサーバのURLを開く do script "open http://localhost:8081/" in window 1 end tell return input end run ``` 4. 保存した場所がAlfredの検索対象になるようにする 今回はこれをmimemoという名前で保存して、Alfredで`mim`などと入れると ![スクリーンショット 2016-03-21 0.05.07](https://mimemo.s3-ap-northeast-1.amazonaws.com/attachment/64c6d861-e0b1-4694-b699-c05fde96c5b4.png) こうなって、enter押せば作業環境の初期化ができるようになりました。めでたしめでたし。 AppleScriptのところは、AppleScriptで書かなくても、Automatorのワークフローでどうにかできる部分も多々あるはずだし、PSDファイル開くとか、[conasu](https://conasu.co/)のそのプロジェクトのページ開くとか、色々と応用範囲も広そう。 ついでに、これをiCloud DriveのAutomatorフォルダに置いておくと、複数の端末で同じように使えたりして地味に便利。