IntelliJ IDEA 2020.3 ヘルプ

スコープ言語構文リファレンス

スコープ言語を使用して、プロジェクトスコープ(ファイル、ディレクトリ、サブディレクトリのセット)を指定できます。

クラスのセット

  • 単一のクラスは、たとえばクラス名によって定義されます: com.intellij.openapi.MyClass

  • サブパッケージに拒否されない、パッケージ内のすべてのクラスのセットは、たとえば、ドットの後のアスタリスクで定義されます。 com.intellij.openapi.*

  • サブパッケージの内容を含むパッケージ内のすべてのクラスのセットは、ダブルドットの後のアスタリスクで定義されます(例: com.intellij.openapi..*)。

ファイルのセット

  • 単一のファイルを追加するには、ファイル名を使用します (たとえば、MyDir/MyFile.txt )

  • サブディレクトリのないディレクトリにすべてのファイルを追加するには、スラッシュの後にアスタリスクを使用します(たとえば: file:src/main/myDir/* )

  • サブディレクトリのあるディレクトリ内のすべてのファイルを追加するには、二重スラッシュの後にアスタリスクを使用します (たとえば、file:src/main/myDir//* )

修飾子

位置変更子

場所の変更は、必要なファイルの場所を指定できます:

  • src: –ソースファイルの場合

  • lib: –ライブラリクラスの場合

  • test: –テストコード用

例: src:com.intellij.openapi.* パターンは、サブパッケージを除く、com.intellij.openapi パッケージのソースルートにあるすべてのクラスをスコープに配置します。デフォルトの場所はモジュールルートです。

モジュール修飾子

モジュール修飾子は、関連するモジュールの名前を指定することによってスコープを絞り込むのに役立ちます:

  • src[module name]:<E>
  • lib[module name]:<E>
  • test[module name]:<E>

例: src[MyModule]:com.intellij.openapi.* パターンは、サブパッケージを除く、com.intellij.openapi パッケージの MyModule モジュールに関連するソースフォルダーにあるすべてのクラスをスコープ内に配置します。

論理演算子

スコープを定義するときは、論理演算子を使用できます。

&& for AND || for OR ! for NOT

また、括弧を使用して論理演算子をグループに結合することもできます。例: 次のスコープには <a>、</a> <c> <a>、または <b> および </b></a> <c> <a><b>:</b></a>

(<a>||<b>)&&<c>

もう一つの例

file[*web*]:src/main/java//*

名前が web を含むすべてのモジュール、およびすべてのファイルがディレクトリ src/main/java に再帰的に含まれることを示します。

既存のスコープから新しいスコープを作成する

いくつかの既存のスコープから新しいスコープを作成できます。この場合、$ $MyScope を使用して、既存のスコープを参照できます。

例: $Scope1||$Scope2 パターンは、Scope1Scope2 のすべてのファイルをスコープに配置します。

  • file[MyMod]:src/main/java/com/example/my_package//* - 指定されたディレクトリとすべてのサブディレクトリにある、モジュール "MyMod" からのすべてのファイルをプロジェクトに含めます。

  • src[MyMod]:com.example.my_package..* - モジュール内のソースディレクトリに、パッケージ内のすべてのクラスを再帰的に含めます。

  • lib:com.company..*||com.company..* - プロジェクトとライブラリの両方から、パッケージ内のすべてのクラスを再帰的に含めます。

  • test:com.company.* - すべてのテストクラスをパッケージに含めますが、サブパッケージには含めません。

  • [MyMod]:com.company.util.* - 指定されたモジュールのパッケージにすべてのクラスとテストクラスを含めます。

  • file:*.js||file:*.coffee - すべての JavaScript と CoffeeScript ファイルを含みます。

  • file:*js&&!file:*.min.* - min 拡張子で示される縮小によって生成されたもの以外のすべての JavaScript ファイルを含めます。

  • !file:*/.npm//* - すべての .npm フォルダーを除外します。