Alfredからコマンド一つで作業環境を初期化する with Automator version 2
:追加された部分
:削除された部分
(差分が大きい場合、文字単位では表示しません)
Automatorを使ってAlfredからコマンド一つで作業環境をセットアップ初期化する with Automator
複数のプロジェクトを同時に走らせていると、
別のプロジェクトの作業を始めようとした時に初期化するのが億劫で
いくつかのプロジェクトを同時に走らせていると、あるプロジェクトの作業の後に、別のプロジェクトの作業を始めようとした時、作業環境を初期化するのが億劫で、「あーめんどくさい」ってついついRSSをチェックしたりくだらない動画を見てしまったりして大変よくないわけです。
理想としては
というわけで、
* Alfredでプロジェクト名を入力すると、一発で必要なものが全て立ち上がる状態
* [Alfred](https://www.alfredapp.com/)でプロジェクト名を入力してenterすると、必要なものが全て立ち上がる
というわけで、それを実現してみた
っていうことをずっとできるようにしたいと思っていたのですが、最近になって、それAutomator使ったらよいのでは、ということにようやく気づいたので備忘録を兼ねてメモ。
## 方法
1. Automatorを起動して「アプリケーション」を新規作成
2. 「アプリケーションを起動」を追加して、起動するアプリケーションに「ターミナル」を選択
ついでにこれをiCloudにぶち込んでおくと、複数の端末で同じように使えるので便利。![スクリーンショット 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でそのプロジェクトのページ開くとか、色々と自由に設定できるので、色々と応用できる範囲は広そう。
ついでに、これをiCloud DriveのAutomatorフォルダに置いておくと、複数の端末で同じように使えたりして地味に便利。
いくつかのプロジェクトを同時に走らせていると、あるプロジェクトの作業の後に、別のプロジェクトの作業を始めようとした時、作業環境を初期化するのが億劫で、「あーめんどくさい」ってついついRSSをチェックしたりくだらない動画を見てしまったりして大変よくないわけです。
というわけで、
- Alfredでプロジェクト名を入力してenterすると、必要なものが全て立ち上がる
っていうことをずっとできるようにしたいと思っていたのですが、最近になって、それAutomator使ったらよいのでは、ということにようやく気づいたので備忘録を兼ねてメモ。
方法
- Automatorを起動して「アプリケーション」を新規作成
- 「アプリケーションを起動」を追加して、起動するアプリケーションに「ターミナル」を選択
- 「AppleScriptを実行」を追加
- ↓みたいなスクリプトを記述して保存。(今回は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
- 保存した場所がAlfredの検索対象になるようにする
今回はこれをmimemoという名前で保存して、Alfredでmim
と入れると
こうなって、enter押せば作業環境の初期化できるようになりました。めでたしめでたし。
AppleScriptのところは、AppleScriptで書かなくても、Automatorのワークフローでどうにかできる部分も多々あるはずだし、PSDファイル開くとか、conasuでそのプロジェクトのページ開くとか、色々と自由に設定できるので、色々と応用できる範囲は広そう。
ついでに、これをiCloud DriveのAutomatorフォルダに置いておくと、複数の端末で同じように使えたりして地味に便利。