すべて開く
Novaへようこそ!
プロジェクト
エディタ
ターミナル
プレビュー
Git
タスク
デバッグ
リモートファイル
機能拡張
付録: 設定
FAQs
サポート

カスタムタスク

プロジェクトのビルド、実行、クリーンを行います。

Novaのタスクシステムを使うと、プロジェクトのビルド、実行、クリーンを行うためのスクリプトを記述し、実行できます。タスクスクリプトは、Pythonやシンプルなシェルスクリプトなど、複数のスクリプト言語で記述でき、パイプライン内で他のアクションと連結することも可能です。タスクスクリプトは、お使いのMac上でローカルに実行したり、SSH経由でリモートサーバ 上で実行したりできます。

タスクは、プロジェクトメニュー > プロジェクト設定から管理できます。左側のサイドバーから既存のタスク構成を選択するか、+アイコンをクリックして新しいタスクを作成します。複数のタスクを持つことで、さまざまなシナリオに応じた異なる構成を用意できます。例えば、デバッグ版のプロジェクトをビルドするための“Debug”タスクと、リリースビルド用の“Release”タスクを持つことができます。

新規カスタムタスクを作成

この記事ではカスタムタスクに焦点を当てますが、Novaは他にも2種類のタスクをサポートしています。機能拡張によって提供される タスクテンプレートと、外部のデバッグツールに接続するためのデバッグタスクです。

タスクの構成

カスタムタスクは、設定可能な3つのアクションに分かれています:

ビルドアイコン ビルド
実行や配布のためにコードをビルドまたはコンパイルします。
実行アイコン 実行
プロジェクトを実行します。
クリーンアイコン クリーン
ビルド成果物や一時ファイルをクリーンアップします。

技術的には、各アクションのスクリプトで何でも実行できますが、これらの定義済みの名前とアイコンは、利便性のために用意されています。あなたの特定のプロジェクトにとって最も意味のある方法でご活用ください!

プロジェクトによっては、タスクに1つのアクションしか定義しない場合もありますが、必要に応じて、ビルド、実行、クリーンの任意の組み合わせを特定のタスク構成に定義できます。

タスクアクションの編集

プロジェクト設定から既存のタスクを選択すると、タスクアクションを構成するためのインタフェースが表示されます。

タスクスクリプトを構成するためのインタフェース
タスクスクリプトを構成するためのインタフェース

上部にある場所オプションで、このタスクのスクリプトをローカルのMacで実行するか、リモートサーバで実行するかを選択できます。SSHプロトコルを使用しているリモートサーバは、このメニューにオプションとして表示されます。

その下では、ビルド、実行、クリーンアクションのスクリプト作成を切り替えたり 引数 を設定したりできます。スクリプトを記述または編集したいアクションを選択し、このタスクのビルド/実行/クリーンアクションを有効にするにチェックを入れ、そのアクションを有効にします。

スクリプトはスクリプトフィールドに直接記述するか、パスオプションを選択して既存のスクリプトファイルをNovaに指定することができます。スクリプトフィールドの右上では、スクリプトを記述する言語を選択できます。タスクは、多数のスクリプト言語をサポートしています:

スクリプト言語によっては、実行するためにインタプリタを別途インストールする必要がある場合があります。Novaはシェル環境から関連するインタプリタを自動的に探しますが、インタプリタフィールドから手動でインタプリタの実行ファイルを指定することもできます。

注: Novaのタスクスクリプトは 非対話的なシェル で実行されます。ユーザー入力を必要とするツールやスクリプトは、正しく動作しない可能性があります。

レポートを開く
スクリプトの出力表示方法を選択します。タスクの実行と同時にレポートを開く、タスクの実行完了後に開く、タスクが成功または失敗した場合にのみ開く、あるいはレポートを一切開かない、といった設定が可能です。また、タスクスクリプトの実行中にNovaのツールバーに進捗インジケータを表示させることも選択できます。
実行前にビルドする
実行アクションに固有のオプションで、これを有効にすると、実行アクションの前に必ずビルドアクションが実行されます。

アクションの呼び出し

タスクが構成されると、特定のアクションを実行するには主に2つの方法があります:

ツールバー

タスクが構成されたプロジェクトでは、タスクアクションを開始および終了するためのコントロールがツールバーに表示されます。

ツールバーのタスクコントロール

ビルドアイコン をクリックしてビルドアクションを、実行アイコン をクリックして実行アクションを呼び出します。タスクアクションの実行中は、Stop icon をクリックして実行中のタスクを 終了 できます。

右側には、現在のプロジェクトに複数のタスクが存在する場合に、タスク構成を切り替えるためのドロップダウンメニューがあります。ビルドボタンと実行ボタンは、選択されたタスクでそれらのアクションが構成されているかどうかに基づいて、自動的に有効または無効になります。

メニュー項目とキーバインド

タスクアクションを呼び出すためのメニュー項目は、プロジェクトメニューにあります:

これらのバインディングは 設定 > キーバインド で変更できます。これらのメニュー項目は コマンドパレット からも呼び出すことができます。

出力とレポート

タスク設定にあるレポートを開くの設定に応じて、タスクスクリプトの実行中または完了後にレポートが表示されることがあります。このレポートでは、タスクスクリプトによって実行されたコマンドの出力を確認できます。レポートは、メインコンテンツエリアの専用タブで開きます。

タスクレポートの表示
タスクレポートの表示

レポートタブの上部には、過去のタスクレポートを表示できるドロップダウンメニューと、レポートをファイルに保存するボタンがあります。

レポートを自動的に開かないように選択した場合でも、タスクの実行中にツールバーのタスクコントロールの隣にある レポートを表示アイコン レポートを表示 アイコンをクリックすることで、手動でレポートを開くことができます。

実行中のタスクのステータスの隣にある「レポートを表示」ボタンに注目
実行中のタスクのステータスの隣にある「レポートを表示」ボタンに注目

また、レポートサイドバーアイコン レポートサイドバーからもタスクレポートを表示したり開いたりできます。このサイドバーはデフォルトではサイドバーDockに表示されませんが、表示 > サイドバーから見つけることができます。

引数

引数タブでは、タスクのスクリプトに渡すカスタム引数や環境変数を設定できます。

引数タブ
起動時に渡される引数
タスクスクリプトに渡され、$構文を使ってアクセスできます。最初の引数を呼び出すには$1 、2番目は$2 のように使用します。
環境変数
タスクが実行されるシェル環境に設定されます。変数名 の両方を手動で割り当て、タスクスクリプト内で$(変数名)と呼び出すことでアクセスできます。実行する可能性のあるプログラムやスクリプトが使用する既存の環境変数を上書きするためにも使用できます。

ワイルドカード

静的な引数を設定するだけでなく ワイルドカードアイコン ワイルドカードを使用して、プロジェクトやファイルに関する情報を動的にタスクスクリプトに渡すこともできます。サポートされているワイルドカードには以下が含まれます:

プロジェクト

現在フォーカスされているファイル

上級ワイルドカード

引数の実例

引数がどのように使用できるかの簡単な例として、Pythonでプロジェクトを作成しているとします。プロジェクトには複数のPythonスクリプトが含まれており、Novaのエディタで現在フォーカスされているPythonスクリプトを単純に実行するタスクが必要だとします。現在フォーカスされているファイルの相対ファイルパスを引数として渡すことができます。

相対ファイルパスのワイルドカードを引数として使用する

… そして、その引数をタスクスクリプト内で使用して、そのファイル名を python3 に渡します。

現在フォーカスされているファイルの名前をPythonに渡す
現在フォーカスされているファイルの名前をPythonに渡す

タスクパイプライン

プロジェクトのビルドや実行が、単一のシェルスクリプトに収まらない多段階のプロセスである場合があります。このような場合、タスクパイプラインを使用して、タスクアクションの実行時に順番に実行される複数のステップを連結できます。

タスクパイプラインを構成するには、プロジェクト設定の左側でタスク構成を展開し、パイプラインを編集したいアクションを選択します。

ビルドアクションの空のタスクパイプライン
ビルドアクションの空のタスクパイプライン

タスクパイプラインは、上から下への順序で一連のステップとして表示されます。特定のタスクアクションのメインスクリプトはそれらのステップの1つでなければなりませんが、追加のステップを複数追加し、好きなように順序付けすることができます。右上隅の + アイコンをクリックしてステップを追加します。ステップを選択してDeleteキーを押すと、そのステップを削除できます(アクションのプライマリーステップを除く)。ステップをクリック&ドラッグして順序を変更します。

利用可能なステップは次のとおりです:

例えば、Novaがビルドスクリプトを実行する前にスクリプトを実行するステップを追加し、ビルド後にNovaにクリーンアップタスクを実行させ、最後にすべてが完了したときにサウンドを再生させることができます。

別のスクリプトを実行し、タスクアクションを実行し、さらに別のタスクを実行してから、サウンドエフェクトを再生するパイプライン