# 作用域语言语法参考

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com.cn/help/idea/llms.txt).

您可以使用  scopes 语言 指定项目 [scope](configuring-scopes-and-file-colors.html)：一组文件、目录和子目录。

## 类集

* 单个类由类名定义，例如： `com.intellij.openapi.MyClass`

* 包中所有类的集合，不递归到子包，是由点后面的星号定义的，例如： `com.intellij.openapi.*`

* 包中的所有类集合，包括子包的内容，由双点后面的星号定义，例如 `com.intellij.openapi..*`

## 文件集

* 要添加单个文件，请使用文件名（例如， `MyDir/MyFile.txt` ）

* 要添加目录中的所有文件但不包括子目录，请在斜杠后使用星号（例如： `文件：src/main/myDir/*` ）

* 要添加包含子目录的目录中的所有文件，在双斜杠后使用星号（例如， `file:src/main/myDir//*` ）

## 修饰符

### 位置修饰符

位置修饰符可帮助您指定所需文件的位置：

* `src:` —用于源文件

* `lib:` —— 用于库类

* `测试：` ——用于测试代码

例如，  `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`  包相关的源文件夹下的作用域中，但不包括子包。

## 逻辑运算符

定义范围时，您可以使用逻辑运算符：

```
&& for AND
|| for OR
! for NOT
           
```

此外，您可以使用括号将逻辑运算符归组。 例如，以下范围包括 <a> 和 <c>，或 <b> 和 <c>：

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

另一个示例

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

表示范围为所有名称包含  `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](minifying-javascript.html)。

* `!file:*/.npm//*` - 排除所有 `.npm` 文件夹。

## See also

### 参考

[作用域](settings-scopes.html)

### 过程

[文件范围与文件颜色](configuring-scopes-and-file-colors.html)

