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. From the ファイル・タイプ drop-down list, choose the expected type of input files. The File Watcher will consider only files of this type as subject for analyzing and processing. File types are recognised based on associations between file types and file extensions.

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

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

    • すべての場所 : all the scopes listed below.

    • プロジェクト・ファイル : all the files within the project content roots (see コンテンツ・ルートの設定 ).

    • プロジェクト製品ファイル : all the files within the project content roots excluding test sources.

    • プロジェクト・テスト・ファイル : all the files within the project test source roots.

    • スクラッチおよびコンソール : all the files from the スクラッチおよびコンソール directory located in the プロジェクト tool window.

    • ファイルのオープン : all the files that are currently opened in the editor.

    • 現在のファイル : the file opened in the active editor tab.

    VCS Scopes : these scopes are only available if your project is under version control.

    • 変更されたファイル : all changed files, that is, all files associated with all existing changelists.

    • デフォルトの変更リスト : all the files associated with the changelist Default .

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

  3. オプション : specify how you want the File Watcher to deal with dependencies. A ルートファイル is a file that is not included (e.g. via import ) in any other file within the specified scope.
    • ファイルウォッチャーをルートファイルに対してのみ実行するには、ルート・ファイルのみを追跡するチェックボックスを選択します。

    • このチェックボックスをオフにすると、呼び出されたファイルと、指定されたスコープ内にこのファイルが再帰的に含まれるすべてのファイルに対して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. コンソールの表示ドロップダウンリストで、ファイルウォッチャーでコンソールを開くタイミングを選択します。
    • 常時 : with this option, the console always opens after the tool execution is completed.

    • エラー時 : with this option, the console opens after the tool execution only when the Exit code is different from 0 .

    • なし : choose this option to suppress opening the console at all.

エディタに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)を使用してリストからウォッチャーを削除するか、編集して同じ名前の新しいグローバルウォッチャーを作成します。

最終更新日: 2018年12月14日

関連事項