29
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Visual Studio Codeで自動的に複数のターミナルを起動しコマンドを実行させる方法

29
Last updated at Posted at 2022-04-11

はじめに

プロジェクトを起動するたび、同じ作業を行なっていませんか?

私の場合、起動→名前の変更→コマンドの実行を4回も行っています。

今回はTerminals Managerを使用して、この作業を0にした方法を紹介します。

この記事は2022年に公開したものです。

2026年8月現在もTerminals ManagerはVisual Studio Marketplaceで公開されていますが、拡張機能の仕様は今後変更される可能性があります。
最新の設定項目については、Visual Studio MarketplaceやGitHubのREADMEもあわせてご確認ください。

導入方法

Terminals Managerをインストールする

Terminals Managerをインストールします。

Visual Studio Codeの拡張機能タブで、

Terminals Manager

と検索するか、Visual Studio Marketplaceからインストールできます。

設定ファイルを開く

コマンドパレットを開き、

Terminals: Edit Configuration

を選択します。

すると、プロジェクトの.vscodeディレクトリにterminals.jsonが作成されます。

.vscode/
└── terminals.json

このファイルに、起動したいターミナルや実行したいコマンドを設定していきます。

自動的に複数のターミナルを起動する

terminalsに複数の設定を追加することで、複数のターミナルをまとめて起動できます。

例:2つのターミナルを起動し、片方でrails consoleを実行する

{
  "autorun": true,
  "terminals": [
    {
      "name": "git",
      "description": "This is a git terminal",
      "command": "",
      "onlyMultiple": true,
      "focus": true
    },
    {
      "name": "rails c",
      "description": "This is a rails console",
      "onlyMultiple": true,
      "commands": [
        "rails console"
      ],
      "open": true
    }
  ]
}

autorunをtrueにすると、プロジェクトを開いたときにターミナルを自動的に実行できます。

この例では、

VS Codeでプロジェクトを開く
        ↓
git用のターミナルを起動
        ↓
rails c用のターミナルを起動
        ↓
rails consoleを実行

というところまで自動化できます。

必要なターミナルだけ後から起動する

すべてのターミナルを最初から起動するのではなく、必要になったときだけ起動することもできます。

例:1つは自動起動し、rails consoleは必要なときだけ起動する

{
  "autorun": true,
  "terminals": [
    {
      "name": "git",
      "description": "This is a git terminal",
      "command": "",
      "onlyMultiple": true,
      "focus": true
    },
    {
      "name": "rails c",
      "description": "This is a rails console",
      "onlySingle": true,
      "commands": [
        "rails console"
      ],
      "open": true
    }
  ]
}

onlySingleを設定したターミナルは、

Terminals: Run Single

から個別に起動できます。

そのため、

普段使うターミナル
→ プロジェクトを開いたときに自動起動

必要なときだけ使うターミナル
→ Terminals: Run Singleから起動

のように分けることができます。

よく使う設定

Terminals Managerにはさまざまな設定があります。

今回のような使い方で特によく使うものをまとめます。

設定 内容
autorun 起動時やプロジェクトがワークスペースへ追加されたときにターミナルを実行する
autokill プロジェクトがワークスペースから削除されたときにターミナルを終了する
name ターミナルの名前
description ターミナルの説明
cwd ターミナルの作業ディレクトリ
command 1つのコマンドを実行する
commands 複数のコマンドを順番に実行する
open コマンド実行後にターミナルを開く
focus コマンド実行後にターミナルを開いてフォーカスする
onlySingle Terminals: Run Singleで個別に実行する
onlyMultiple Terminals: Run Singleには表示せず、複数実行側で利用する

Terminals Managerには、このほかにも環境変数、shell、tmux/screenを利用した永続化、ターミナルの分割などの設定があります。

設定項目は変更・追加される可能性があるため、すべてをこの記事に列挙するのではなく、最新情報は公式READMEを確認するのがおすすめです。

コマンドパレットから実行できるコマンド

主に以下のコマンドを利用できます。

Terminals: Edit Configuration
Terminals: Kill
Terminals: Run
Terminals: Run Single

Terminals: Edit Configuration

terminals.jsonを開きます。

Terminals: Kill

Terminals Managerで起動したターミナルを終了します。

Terminals: Run

設定した複数のターミナルを実行します。

Terminals: Run Single

設定したターミナルから1つを選択して実行します。

さらに自動化する

autorunを利用すると、コマンドパレットからTerminals: Runを毎回実行する必要もありません。

{
  "autorun": true
}

プロジェクトを開くだけで、設定したターミナルを起動してコマンドを実行できます。

毎日同じ、

ターミナルを開く
↓
名前を付ける
↓
ディレクトリを移動する
↓
コマンドを実行する

という作業をしている場合は、terminals.jsonに設定しておくと楽になります。

おわりに

苦ではないけれど自動化できると楽だな..と思う作業を解消することで、
気持ちが少し楽になりました🙆🏻‍♀️

それでは良き開発ライフを!

参考

29
22
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?