# 选项文件
[TOC]
可选的默认选项文件或项目选项文件可用于补充或替换命令行选项配置。选项文件必须使用计算机的标准编码,UTF-8 或 UTF-16 Unicode 编码。
选项可以设置新行、制表符、逗号或空格分隔的格式。选项文件中的完整型选项可以在没有前面的双横线“**--**”的情况下写入。以“#”开头的选项文件中的行被认为是行注释。格式化中使用的选项文件及其位置可以通过使用 **--verbose** 选项显示。
1. 命令行选项优先:如果命令行选项与默认或项目文件中的选项存在冲突,将使用命令行选项。
2. 项目选项文件优先于默认选项文件,但不优先于命令行选项。项目选项文件应该位于正在格式化的项目的顶部目录中。该文件仅由文件名标识。必须使用命令行项目选项之一来表示文件可用,或者必须由环境变量指定。按照以下顺序在当前目录或其父目录中查找文件:
* 由 **--project=** 命令行选项指定的文件名。
* 名为 **.astylerc** 或 **_astylerc** 的文件。
* 由环境变量 **ARTISTIC_STYLE_PROJECT_OPTIONS** 标识的文件名(如果存在的话)。
* 可以通过在命令行中指定 **--project=none** 来禁用文件或环境变量。
该文件应该位于正在格式化的项目的顶部目录中。每次执行时只使用一个文件,所有要格式化的文件都假定在同一个项目中。Artistic Style 将在目录路径中向后搜索以找到项目选项文件。搜索的初始目录路径按照以下顺序从以下位置之一获得:
* 在命令行中输入的第一个 **SourceFilePath**。
* “ **--stdin=** ”的值,它用于重定向。
* 如果“<”用于重定向,则为当前目录。如果要格式化的文件不在当前目录中,则使用 “ **--stdin=** ”选项。
3. 默认选项文件可以用于所有项目。文件由文件路径和文件名标识。其中一个命令行选项必须用于指示文件是否可用,或者环境变量必须指向它。按照以下顺序查找文件路径和文件名:
* 命令行选项 **--options=** 指示的文件路径。
* 如果设置了环境变量,则由环境变量 **ARTISTIC_STYLE_OPTIONS** 指示的文件路径。
* 在环境变量 **HOME** 指向的目录中名为 *.astylerc* 的文件(例如: "$HOME/.astylerc" on Linux)。
* 在环境变量 **APPDATA** 指向的目录中名为 *astylerc* 的文件(例如: "%APPDATA%\astylerc" on Windows)。
* 可以通过在命令行中指定 **--options=none** 来禁用文件或环境变量。
一个默认或项目选项文件的例子:
```
# 这一行是注释
--style=allman # 这是一条行尾注释
# 完整型选项可以不用前面的双横线“--”
indent-switches # 不能在命令行上执行此操作
# 缩写型选项必须使用前面的单横线“-”
-t -p
# 缩写型选项可以连接在一起
-M60Ucv
```
