作用域语言语法参考
您可以使用 scopes 语言指定项目 scope :一组文件、目录和子目录。
类集
单个类由类名定义,例如:
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.* 模式将所有类放置在与 MyModule 模块中的 com.intellij.openapi 包相关的源文件夹下的作用域中,但不包括子包。
逻辑运算符
定义范围时,您可以使用逻辑运算符:
此外,您可以使用括号将逻辑运算符归组。 例如,以下范围包括 <a> 和 <c>,或 <b> 和 <c>:
另一个示例
表示范围为所有名称包含 web 的模块,以及目录 src/main/java 中的所有文件及其子目录。
从现有作用域创建新作用域
您可以从几个现有的 scope 中创建一个新的 scope。 在这种情况下,您可以引用现有的作用域,方法是使用 $$MyScope。
例如, $Scope1||$Scope2 模式会将所有文件从 Scope1 和 Scope2 的范围内放置。
示例
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.*- 包含所有 JavaScript 文件,但通过 minification 生成的文件除外,这些文件由min扩展名指示。 了解更多 压缩 JavaScript。!file:*/.npm//*- 排除所有 .npm 文件夹。