詳細は作業記録ログに書いてあります。開発の初速が上がった感じがある。
作業記録ログ
iTerm2のscriptを使って開発環境を立ち上げる時に移動したり、パネルを分割したりなどの処理を一発で立ち上げられるようにしたいと思っている。
pythonでスクリプトを記述するが下記のチュートリアルにしたがってpythonファイルを作成する https://iterm2.com/python-api/tutorial/
すると下記の場所にスクリプトを作成できる
/Users/user/Library/Application Support/iTerm2
やりたいこととしては pdfme,とlabelmake.jpの開発に必要な状態にしたいことなので、下記のような感じ
- pdfme
- pdfmeディレクトリルートに移動
- pdfme/commonディレクトリに移動して
npm run develop
を起動 - pdfme/generatorディレクトリに移動して
npm run develop
を起動 - pdfme/uiディレクトリに移動して
npm run develop
を起動 - Pdfme-playgroundディレクトリに移動して
npm run start
を起動
雑だけどこんな感じになった。既存のやつを適当にコピーしつつ変更しながら作ったので適当。
#!/usr/bin/env python3
import asyncio
import iterm2
async def main(connection):
await iterm2.Window.async_create(connection)
app = await iterm2.async_get_app(connection)
leftBottom = app.current_terminal_window.current_tab.current_session
await leftBottom.async_send_text('cd ~/Develop/pdfme-playground && npm run start\n')
rightBottom = await leftBottom.async_split_pane(vertical=True)
await rightBottom.async_send_text('cd ~/Develop/pdfme/packages/ui && npm run develop\n')
leftTop = await leftBottom.async_split_pane(vertical=False, before=True)
await leftTop.async_send_text('cd ~/Develop/pdfme\n')
rightTop = await rightBottom.async_split_pane(vertical=False, before=True)
await rightTop.async_send_text('cd ~/Develop/pdfme/packages/common && npm run develop\n')
rightMiddle = await rightBottom.async_split_pane(vertical=False, before=True)
await rightMiddle.async_send_text('cd ~/Develop/pdfme/packages/generator && npm run develop\n')
await leftTop.async_activate()
iterm2.run_until_complete(main)
https://iterm2.com/python-api/examples/broadcast.html のexamplesを参考に作りました。
動作はこんな感じ
Scriptの起動はMenuから or Command +Shift + I
でファイル名をタイプすると選択して実行できる。
ちなみに 上記で起動したPaneに対して Command+option+I
で Broadcast Input to All Panes in Current Tab をすることで起動中のサーバーを一発で停止することもできる。
- labelmake.jp
- labelmake.jp ディレクトリルートに移動
- labelmake.jp ディレクトリに移動して
npm run develop
を起動 - labelmake.jp ディレクトリに移動して
npm run functinos:serve
を起動 - labelmake.jp/functions ディレクトリに移動して
npm run start
を起動
さっき作ったやつを真似して作ればOK
わりといい感じに開発をサクッと始められる環境ができて満足。
iTerm2便利やなー
本日の作業
pdfme
life
labelmake.jp
明日の作業
日記
今日は朝に散歩に行ってスタバで作業して、渋谷でアイフォン変えて、渋谷でそのまま作業して帰った。
パスタがいい感じにできた。
3ヶ月あるあるらしいけど、娘の寝方がかわって寝つきが悪くなって妻が大変そう。 自分もできることをもっとやらないとバランスが崩壊しそうだなと思っているので頑張らねば。