この記事は GMOアドマーケティング Advent Calendar 2023 16日目の記事です。
こんにちは。GMOアドマーケティングのK.Mです。
VSCodeでプロジェクト(ワークスペース)を開くとき、その開発をするために必要となるいろんなこと(サーバー起動やらログtailやらブランチ整備やら…)をついでに自動でやれたら良いなと思います。
そんなときは tasks.json です!
というわけで今回は tasks.json を試してみます。プロジェクトを開くだけで周辺のいろんな準備もまとめてやってしまえるよう効率化したいと思います。
let’s try!
VSCodeを開いてメニューの ターミナル > タスクの構成 から適切なものを選んで進みます。シンプルなテンプレートが得られるので、必要に応じてカスタマイズしていきます。
例として開発用サーバーを起動するようにしてみます。
1 2 3 4 5 |
{ "label": "launch dev servers", "type": "shell", "command": "cd ~/blog/pj && php -S localhost:8888" }, |
ログのtailなんかもしておくと良さそうです。
1 2 3 4 5 |
{ "label": "tail logs", "type": "shell", "command": "cd ~/blog/pj && tail -F debug.log" }, |
こんな感じで依存関係のコマンドをまとめて実行できます。パラレルにもシーケンシャルにも可。
1 2 3 4 5 6 7 8 9 |
{ "label": "start dev", "type": "shell", "dependsOrder": "parallel", "dependsOn":[ "launch dev servers", "tail logs", ] }, |
プロジェクトが開かれたとき同時に実行するオプション。
1 2 3 |
"runOptions": { "runOn": "folderOpen" } |
まとめるとこんな感じ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "launch dev servers", "type": "shell", "command": "cd ~/blog/pj && php -S localhost:8888" }, { "label": "tail logs", "type": "shell", "command": "cd ~/blog/pj && tail -F debug.log" }, { "label": "start dev", "type": "shell", "dependsOrder": "parallel", "dependsOn":[ "launch dev servers", "tail logs", ], "runOptions": { "runOn": "folderOpen" } }, ] } |
キーボードショートカットと紐づけておくと実行の制御がよりラクです(keybindings.json)。
1 2 3 4 5 |
{ "key": "ctrl+cmd+[IntlRo]", "command": "workbench.action.tasks.runTask", "args": "start dev" } |
以上です。これは捗りそうです! 引き続き精進します。
enjoy!
明日はzakisanbaimanさんによる「GCPのバッチ処理サービス「Batch」を試してみる」です。
引き続き、GMOアドマーケティング Advent Calendar 2023 をお楽しみください!
■採用ページはこちら!
https://recruit.gmo-ap.jp/
■GMOアドパートナーズ 公式noteはこちら!
https://note.gmo-ap.jp/