PyCharm 2019.1ヘルプ

ファイル監視機能の使用

ファイル監視は組み込みのPyCharmツールで、IDEでファイルを変更または保存するときにコンパイラ、フォーマッタ、linterなどのコマンドラインツールを自動的に実行できます。

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

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

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

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

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

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

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

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

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

    リストから定義済みスコープの1つを選択してください。プロジェクトレベルのファイル監視の場合は、the Browse button をクリックして、表示されるスコープダイアログでカスタムスコープを設定することもできます。

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

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

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

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

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

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

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

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

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

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

    または、the Browse button をクリックして、表示されるスコープダイアログでカスタムスコープを設定します。

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

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

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

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

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

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

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

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

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

    リフレッシュする出力パスフィールドの値を変更しても、ツールはその出力を別の場所に保存しません。それでもそれを行う必要がある場合は、引数フィールドに希望のカスタム出力位置を指定します。コロンとしてコロンを使用して出力パスを区切り文字として入力し、マクロを使用します。

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

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

  5. 環境変数を定義します。例:構成しようとしているツールを開始するために必要だが、そのパスで参照されていないツールには、PATH 変数を指定します。ほとんどの場合、Node.jsまたはruby.exeです。このような状況は、Node パッケージ・マネージャー(npm)またはgemマネージャーを使用したインストールではなく、カスタムの手動インストールに起因する可能性があります。

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

高度なオプションの設定

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

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

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

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

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

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

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

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

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

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

エディターにファイル監視によって報告された情報を表示する

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

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

  • ウォッチャーの編集ダイアログの出力フィルターフィールドに、一致させる出力のフォーマットを記述します。そのためには、マクロ $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

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

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

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

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

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

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

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

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

  1. 引数フィールドに次のように入力します。

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

  2. リフレッシュする出力パスフィールドに次のように入力します。

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

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

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

File Watcher Error Message

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

報告された問題

問題説明

回避策

Unknown Scope error

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

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

Not found error

このプロジェクトは、削除されたグローバルファイル監視を使用します。

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

最終更新日: 2019年7月15日

関連事項

言語とフレームワーク固有のガイドライン:

チュートリアルと例:

関連ページ:

ファイル監視

この機能はProfessionalエディションでのみサポートされています。このエディションは有償で、優れた機能を提供します。詳細は比較表を参照してください。このページは、ファイル監視プラグインが有効な場合に使用できます。プラグインはデフォルトで有効になっています。プラグインが無効になっている場合は、...

スコープ

スコープ() は、プロジェクト内のファイル、パッケージ、ディレクトリーのサブセットで、検索、コードインスペクションなどの特定の操作の適用を制限できます。また、スコープごとに色指定を設定して、処理するファイルの種類を一度に確認することもできます。プロジェクトが大きくなるにつれて、スコープはさらに役立ち...

ファイルタイプの関連付けを設定する

PyCharmで認識されないファイルタイプ(社内で開発された独自のファイルタイプなど)を使用している場合や、サポートされていない言語でコーディングする必要がある場合は、カスタムファイルタイプを作成できます。キーワード、コメント、数字などの強調表示スキームを定義することによって、IDEがファイルを解析...

コンテンツ・ルートの設定

どのプロジェクトにも、プロジェクトと一緒に作成されたコンテンツ・ルートが少なくとも1つ含まれています。追加のコンテンツ・ルートを作成したり、不要なものを削除することができます。コンテンツ・ルートを作成するプロジェクト構造を開くの設定。プロジェクト構造ページのプロジェクトペインで、コンテンツ・ルートを...

TSLint

この機能はProfessionalエディションでのみサポートされています。このエディションは有償で、優れた機能を提供します。詳細は比較表を参照してください。また、TypeScriptコードをESLintで確認することもできます(Lint TypeScriptコード(ESLint付き)を参照)。デフォ...

ファイル監視

この機能はProfessionalエディションでのみサポートされています。このエディションは有償で、優れた機能を提供します。詳細は比較表を参照してください。このチュートリアルの内容:このチュートリアルでは、PyCharmのファイルウォッチャーを使用して段階的に進めることを目指しています。ファイルウォ...