LoginSignup
10
10

More than 3 years have passed since last update.

VisualStudioCodeのタスク設定を書かずに、タスク機能を使う

Last updated at Posted at 2019-12-01

知ってるようで知らないタスク機能を解説します。

Visual Studio Codeには、コマンドランチャーであるタスク機能が付属しています。
タスクの種類には2種類あります。

  • 環境から検出し、自動で作成されるタスク
  • .vscode/tasks.json に記述し、コマンドなどすべての情報を記述するタスク

この自動で検出するタスクについて、解説します。。

実際にコマンド『Tasks: Run Task』を実行すると、『configured tasks』と『detected tasks』に分かれていることがわかります。

Screenshot from 2019-11-24 11-11-05.png

『configured tasks』は.vscode/tasks.jsonで設定したタスクになり、『detected tasks』は拡張機能のタスクプロバイダーがプロジェクトディレクトリから検出したタスクになります。
各タスクの前に書かれている「npm」「tsc」が検出したタスクプロバイダーの名前になります。

このように、プロジェクトで既にGradleやGulpなど既存のタスクランナーを使用している場合、そのタスクランナーを自動で検出してくれる場合があります。
すでにGraleやGulpなど既存のタスクランナーを使っている場合、拡張機能のマーケットプレイスでタスクランナーの名前で検索すると、サポートする拡張機能が見つかります

ただし、自動検出したタスクでは以下の制約があります。

  • タスクの一部の設定を変更したい場合、通常のタスクとして.vscode/tasks.jsonに記述する必要がある。
  • デバッグの設定である.vscode/launch.jsonのpreLaunchTaskの設定を使って、デバッグの前の実行するタスクとして設定することはできない。
  • タスクの依存関係を設定できない。

デバッグの前に実行するタスクを設定したり、タスクの依存関係を設計する場合には、.vscode/tasks.jsonにタスクとして記述する必要があります。

このように、既存のタスクランナーを用いている場合には、VSCodeのタスクを作成せずにVSCodeからシームレスに実行できるため、この機能の利用はおすすめです。

10
10
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
10
10