IntelliJ IDEA 2018.3 Help

ファイルウォッチャーの使用

ファイルウォッチャーは組み込みのIntelliJ IDEAツールで、IDEでファイルを変更または保存するときに、コンパイラ、フォーマッタ、またはリンタのようなコマンドラインツールを自動的に実行できます。

ファイルウォッチャをゼロから構成するか、または使用可能なテンプレートの1つを使用できます。設定されたファイルウォッチャーは、プロジェクト設定またはIDE設定に保存し、さまざまなプロジェクトで使用できます。

開始する前に、プラグインの管理の説明に従って、プラグインの設定ページにFile Watchersプラグインをインストールしてください。

ファイルウォッチャーの作成

ファイルウォッチャーを作成する

  1. 設定/環境設定ダイアログ(Ctrl+Alt+S)で、ツールにあるファイル監視をクリックします。ファイルウォッチャーページが開き、このプロジェクトとIDEに既に設定されているファイルウォッチャーのリストが表示されます。

  2. icons general add svg をクリックして、ファイルウォッチャーを作成する定義済みのテンプレートを選択します。選択は、使用するツールによって異なります。リストにないツールを使用するには、カスタムを選択します。[新規ウォッチャー]ダイアログボックスが開きます。

  3. [名前]テキストボックスにFile Watcherの名前を入力します。デフォルトでは、IntelliJ IDEAは選択された定義済みテンプレートの名前を示唆しています。

予想される入力ファイルのタイプと場所の設定

見るファイル領域のコントロールを使用して、ファイルウォッチャーを適用するファイルの範囲を定義します。

  1. ファイル・タイプドロップダウンリストから、予想される入力ファイルの種類を選択します。ファイル監視機能は、このタイプのファイルのみを分析および処理の対象と見なします。ファイルの種類は、ファイルの種類とファイル拡張子の関連付けに基づいて認識されます。

  2. File Watcherが適用されるスコープを選択します。これらのファイルを変更すると、ウォッチャーを起動するために編集したファイルを自動保存するチェックボックスの状態に応じて、直ちにまたは保存またはフレームの非アクティブ化時にFile Watcherが呼び出されます。

    ドロップダウンリストから事前定義されたスコープの1つを選択します。プロジェクトレベルのFile Watcherの場合は、 browseButton をクリックして開くスコープダイアログでカスタムスコープを設定することもできます。

    • すべての場所 : 下記のすべての範囲

    • プロジェクト・ファイル : プロジェクトコンテンツ・ルート内のすべてのファイル(コンテンツ・ルートの設定を参照)。

    • プロジェクト製品ファイル : テストソースを除くプロジェクトコンテンツ・ルート内のすべてのファイル。

    • プロジェクト・テスト・ファイル : プロジェクト内のすべてのファイルがテストソースのルートになります。

    • スクラッチおよびコンソール : プロジェクトツールウィンドウにあるスクラッチおよびコンソールディレクトリーからのすべてのファイル。

    • ファイルのオープン : 現在エディターで開かれているすべてのファイル。

    • 現在のファイル : アクティブなエディタータブで開かれたファイル

    VCSスコープ : これらのスコープは、プロジェクトがバージョン管理下にある場合にのみ使用可能です。

    • 変更されたファイル : すべての変更されたファイル、つまりすべての既存のチェンジリストに関連付けられたすべてのファイル。

    • デフォルト変更リスト : チェンジリスト Defaultに関連付けられているすべてのファイル。

    または、参照をクリックし、表示されるスコープダイアログボックスでカスタム・スコープを設定します。

  3. オプション : ファイル監視プログラムが依存関係をどのように処理するかを指定します。ルートファイルは、指定された範囲内の他のファイルに含まれていないファイルです(たとえば importを介して)。
    • ファイルウォッチャーをルートファイルに対してのみ実行するには、ルート・ファイルのみを追跡するチェックボックスを選択します。

    • このチェックボックスをオフにすると、呼び出されたファイルと、指定されたスコープ内にこのファイルが再帰的に含まれるすべてのファイルに対してFile Watcherが実行されます。

    スコープ設定はルート・ファイルのみを追跡するチェックボックスの設定よりも優先されることに注意してください。依存関係が指定されたスコープの外にある場合、ファイルウォッチャーはそれに適用されません。

外部ツールとの対話の設定

変更を実行するツール領域で、使用するツール、それに渡す引数、予想される出力ファイルの種類などを指定します。

  1. [プログラム]テキストボックスに、ツールの実行可能ファイル(.exe.cmd.batなど)のパスを指定します。

    プロジェクト内にインストールされたツール(Prettier(英語)など)用のグローバルファイルウォッチャーを設定する場合は、マクロを使用してそのパスを指定する必要があります。パス内の使用可能なマクロの1つを使用するには、マクロの挿入ボタンを押します。例:パス $ProjectFileDir$/node_modules/.bin/prettierでは、File Watcherはプロジェクトの node_module フォルダーにインストールされているよりきれいなファイルを使用します。

  2. 引数テキストボックスに、ツールに渡す引数を定義します。引数は通常、 $FileName$$FileNameWithoutExtension$などのマクロを使用して指定され、実際のファイル名に置き換えられます。
    マクロを手動で入力するか、マクロの挿入をクリックし、表示されるマクロダイアログのリストから該当するパターンを選択します。

  3. [リフレッシュする出力パス]テキストボックスに、ツールが出力を格納するファイルを指定します。結果のソースコード、ソースマップ、および依存関係。これらの設定に基づいて、IntelliJ IDEAはコンパイルによって生成されたファイルを認識します。

    リフレッシュする出力パステキストボックスの値を変更しても、ツールの出力は別の場所に保存されません。引き続き行う必要がある場合は、引数テキストボックスに目的のカスタム出力場所を指定します。セパレータとしてコロンを使用して出力パスを入力し、マクロを使用します。

    出力パスは通常、マクロを使用して指定します。パスを手動で入力し、マクロの挿入をクリックして、リストから関連するパターンを選択します。

  4. 作業ディレクトリーと環境変数隠し領域を展開します。

  5. 環境変数を定義します。例:設定中のツールでパスに参照されていないツールの起動に必要なツールの PATH 変数を指定します。ほとんどの場合、Node.jsまたはruby.exeです。このような状況は、Node パッケージ・マネージャー(npm)またはgemマネージャーによるインストールではなく、カスタムインストールによるものです。

  6. 作業ディレクトリーテキストボックスに、ツールを適用するディレクトリーを指定します。
    ツールは常にファイルのコンテキストで呼び出されるため、デフォルトの作業ディレクトリーは現在のファイルのディレクトリーです。既定の作業ディレクトリーは、 $FileDir$ マクロを使用して、あらかじめ定義されたすべてのテンプレートで指定されています。カスタム作業ディレクトリーを指定するには、テキストボックスにパスを入力するか、 browseButton をクリックしてパスの選択 ダイアログボックスでディレクトリーを選択するか、マクロの挿入をクリックして、マクロダイアログボックスのリストから目的のマクロを選択します。

高度なオプションの設定

拡張オプション領域では、File Watcherのデフォルト動作をカスタマイズします。

  1. ファイルウォッチャーを呼び出すイベントを指定します。
    • ソースコードが変更されるとすぐにFile Watcherを呼び出すには、ウォッチャーを起動するために編集したファイルを自動保存するチェックボックスをオンにします。
      チェックボックスをオフにすると、ファイルウォッチャーは保存(ファイル | すべて保存)またはIntelliJ IDEA(フレーム非アクティブ化時)からフォーカスを移動すると開始します。

    • デフォルトでは、ブランチをチェックアウトするなど、バージョン管理システムから受け取った更新を含む、保存された変更に対してファイルウォッチャが起動します。このような変更を無視してファイルウォッチャーを呼び出すには、IntelliJ IDEAでコードを更新するだけで、ウォッチャーの外部変更のトリガーチェックボックスをクリアします。

  2. ファイルウォッチャーがIntelliJ IDEA構文解析プログラムと対話するかどうかを指定します。
    • 構文エラーに関係なく監視をトリガーするチェックボックスをオンにすると、File Watcherはファイルの構文上の正確さに関係なく起動します。ファイルウォッチャーは、ウォッチャーを起動するために編集したファイルを自動保存するチェックボックスの状態に応じて、更新、保存、またはフレームの非アクティブ化時に開始されます。

    • 構文エラーに関係なく監視をトリガーするチェックボックスをオフにすると、File Watcherは構文上無効なファイル内のすべてのトリガを無視し、エラーのないファイルでのみ起動します。

  3. stdoutから出力ファイルを作成するチェックボックスを使用して、出力ファイルの生成方法を指定します。
    • チェックボックスをオンにすると、IntelliJ IDEAはネイティブツールの出力(standard output stream (stdout))を読み込み、そこから結果ファイルを生成します。

    • チェックボックスをオフにすると、ツールはその出力をリフレッシュする出力パスフィールドで指定されたファイルに直接書き込みます。

  4. コンソールの表示ドロップダウンリストで、ファイルウォッチャーでコンソールを開くタイミングを選択します。
    • 常時 : このオプションを使用すると、ツールの実行が完了した後にコンソールが常に開きます。

    • エラー時 : このオプションを使用すると、 Exit code0と異なる場合にのみツール実行後にコンソールが開きます。

    • なし : コンソールをまったく開かないようにするには、このオプションを選択します。

エディターにFile Watcherによって報告された情報を表示する

File Watcherで設定されたツールがファイルに関するエラーや警告をファイルや特定の行へのリンクで報告した場合は、この情報をエディターで直接見ることができます。

  • 環境設定/設定 | エディター | インスペクションでは、インスペクション ファイル監視問題を有効にします。

  • ウォッチャーの編集ダイアログの出力フィルターフィールドに、一致させる出力のフォーマットを記述します。そのためには、マクロ $FILE_PATH$$LINE$、および $MESSAGE$ を使用してください。波括弧のような特別な記号や \のドットを使わないでください。 $MESSAGE$ マクロにマッチしたテキストがエディターに表示されます。

例:

このツールは、次の形式でエラーを報告します。

ERROR: /Users/Alice/WebstormProjects/angular-app/src/main.ts[6, 27]: " should be '
エディターで強調表示されたエラーを表示するには、次の正規表現を出力フィルタとして使用します。
ERROR: $FILE_PATH$\[$LINE$, $COLUMN$\]: $MESSAGE$

ファイルウォッチャーの保存、有効化、無効化

新しいファイルウォッチャーを保存したら、現在のプロジェクト(プロジェクトを右の列で選択)またはすべてのプロジェクト(グローバルを選択)でのみ使用できるかどうかを判断できます。

Global File Watcher

ファイルウォッチャーを有効または無効にするには、環境設定/設定 | ツール | ファイル監視ダイアログでその横のチェックボックスをオンまたはオフにします。

ファイルウォッチャーの有効/無効の状態を切り替えるには、設定ダイアログボックスのファイル監視ページでその横のチェックボックスを選択/選択解除します。File Watcherの実行中にエラーが発生すると、File Watcherは自動的に無効になります。ステータスを復元するには、File Watcherを手動で有効にします。

ファイルウォッチャーを有効にすると、選択した種類のファイルが選択された範囲内で変更または保存されるとすぐに自動的に開始されます(高度なオプションの設定を参照)。

ファイルウォッチャーで外部ツールの動作をカスタマイズする例

サードパーティツールに影響を与える唯一の方法は、コマンドラインモードで作業しているかのように、引数を渡すことです。これらの引数は各ツールに固有です。以下に、CoffeeScriptコンパイラのデフォルトの出力場所をカスタマイズする2つの例を示します。

次のフォルダー構造のプロジェクトがあるとします。

fileWatcherExampleImage1
デフォルトでは、生成されたファイルは元のファイルが保存されているフォルダーに保存されます。このデフォルトの場所を変更し、生成されたファイルを js フォルダーに保存することができます。さらに、 app ノードのもとで元の構造を繰り返すフォルダー構造に並べて保存することもできます。

生成されたすべてのファイルを出力jsフォルダーに格納するには

  1. 引数テキストボックスに次のように入力します。

    --output $ProjectFileDir$\js\$FileDirRelativeToProjectRoot$\ --compile --map $FileName$

  2. リフレッシュする出力パステキストボックスに次のように入力します。

    $ProjectFileDir$\js\$FileDirRelativeToProjectRoot$\$FileNameWithoutExtension$.js:$ProjectFileDir$\js\$FileDirRelativeToProjectRoot$\$FileNameWithoutExtension$.map
    その結果、プロジェクトツリーは次のようになります。
    fileWatcherExampleImage3

ファイルウォッチャーのトラブルシューティング

環境設定/設定 | ツール | ファイル監視のリストのファイルウォッチャーの横に赤いエラーメッセージが表示されることがあります。

File Watcher Error Message

起こりうるエラーのリストを以下に示します。

報告された問題

問題説明

回避策

Unknown Scope error

ファイルウォッチャーは、このプロジェクトで定義されていないスコープを使用します。

ウォッチャーをダブルクリックして使用可能なスコープを選択するか、新しいスコープを作成します。

Not found error

このプロジェクトは、削除されたグローバルFile Watcherを使用します。

除去ボタン(Remove)を使用してリストからウォッチャーを削除するか、編集して同じ名前の新しいグローバルウォッチャーを作成します。

最終更新日: 2019年2月1日

関連事項