😊

VSCode起動時にターミナルでコマンドを実行する

に公開

概要

Terminal Keeper は、VSCode 起動時に複数のターミナルを開き、それぞれで特定のコマンドを自動実行できる拡張機能。

詳細

.vscode/sessions.json に設定を記述することで、開発環境を統一できる。

sessions.json の設定例

{
    "$schema": "https://cdn.statically.io/gh/nguyenngoclongdev/cdn/main/schema/v10/terminal-keeper.json",
    "theme": "tribe",
    "active": "default",
    "activateOnStartup": true, // VSCode起動時に自動的にこのターミナル設定を適用するかどうか
    "keepExistingTerminals": false, // VSCode起動時に既存のターミナルを残すかどうか
    "sessions": {
        "default": [
            {
                "name": "Git",
                "autoExecuteCommands": true,
                "icon": "git-branch",
                "color": "terminal.ansiMagenta",
                "splitTerminal": true,
                "commands": [
                    "cd $(pwd | sed 's|/myProject.*|/myProject|')",
                    "echo '\nGit のコマンド実行などはこちら\n'"
                ]
            },
            {
                "name": "frontend server",
                "autoExecuteCommands": true,
                "icon": "editor-layout",
                "color": "terminal.ansiGreen",
                "commands": [
                    "cd $(pwd | sed 's|/myProject.*|/myProject/packages/frontend|')",
                    "pnpm run dev"
                ]
            },
            {
                "name": "frontend terminal",
                "autoExecuteCommands": true,
                "icon": "editor-layout",
                "color": "terminal.ansiGreen",
                "commands": [
                    "cd $(pwd | sed 's|/myProject.*|/myProject/packages/frontend|')",
                    "echo '\nフロントエンドのコマンド実行などはこちら\n'"
                ]
            },
            {
                "name": "backend server",
                "autoExecuteCommands": true,
                "icon": "symbol-method",
                "color": "terminal.ansiBrightCyan",
                "splitTerminal": true,
                "commands": [
                    "cd $(pwd | sed 's|/myProject.*|/myProject/packages/backend|')",
                    "make run"
                ]
            },
            {
                "name": "backend terminal",
                "autoExecuteCommands": true,
                "icon": "symbol-method",
                "color": "terminal.ansiBrightCyan",
                "splitTerminal": true,
                "commands": [
                    "cd $(pwd | sed 's|/myProject.*|/myProject/packages/backend|')",
                    "echo '\nバックエンドのコマンド実行などはこちら\n'"
                ]
            }
        ]
    }
}

設定のポイント

  • Git ターミナル: ワークスペースの最上位で Git 操作用
  • フロントエンドサーバーターミナル: frontendサーバーを起動
  • フロントエンド用ターミナル: frontend ディレクトリ内で作業用
  • バックエンドサーバーターミナル: backendサーバーを起動
  • バックエンド用ターミナル: backend ディレクトリ内で作業用

まとめ

Terminal Keeper を活用することで、開発者が同じターミナル環境を簡単にセットアップでき、手動でターミナルを開く手間を省ける。特にモノレポ構成のプロジェクトでは、各ディレクトリでのコマンド実行をスムーズに行え、生産性の向上につながる。

Discussion