从命令行格式化文件
IntelliJ IDEA 可以根据配置的代码样式设置 格式化您的代码。 您还可以从命令行将代码样式格式应用到指定文件。
命令行格式化工具将在后台启动 IntelliJ IDEA 实例并应用格式。 如果另一个 IntelliJ IDEA 实例已经在运行,则无法工作。 在这种情况下,您可以从正在运行的实例中执行代码样式格式化。 使用命令行格式化程序对有许多贡献者的大型代码库进行自动化定期维护,以确保一致的编码风格。
要能够格式化文件,请在 IntelliJ IDEA 中安装并启用支持相应文件类型的插件(例如, Shell 脚本 插件用于格式化 shell 脚本文件)。
您可以在 bin 下的安装目录中找到运行 IntelliJ IDEA 的可执行文件。 要将此可执行文件用作命令行启动器,请按 PATH 中所述将其添加到您的系统中 命令行界面。
- 语法
- idea64.exe format [<options>] <path ...>
- 示例
使用默认的代码样式设置格式化 C:\Data\src 目录中的两个特定文件:
idea64.exe format -allowDefaults C:\Data\src\hello.html C:\Data\src\world.html递归格式化 C:\Data\src 目录中的所有文件,包括所有子目录,使用默认的代码样式设置:
idea64.exe format -allowDefaults -r C:\Data\src使用 C:\Data\settings.xml 中的代码风格设置非递归格式化 C:\Data\src 目录中的所有 .xml 和 .html 文件:
idea64.exe format -s C:\Data\settings.xml -m *.xml,*.html C:\Data\src
IntelliJ IDEA 包含一个用于运行命令行代码格式化工具的脚本。 默认情况下,它位于应用程序包中: IntelliJ IDEA Ultimate.app/Contents/bin/format.sh
- 语法
- ./format.sh [<options>] <path ...>
- 示例
使用默认的代码样式设置格式化 ~/Data/src 目录中的两个特定文件:
./format.sh -allowDefaults ~/Data/src/hello.html ~/Data/src/world.html递归格式化 ~/Data/src 目录中的所有文件,包括所有子目录,使用默认的代码样式设置:
./format.sh -allowDefaults -r ~/Data/src使用 ~/Data/settings.xml 中的代码风格设置非递归格式化 ~/Data/src 目录中的所有 .xml 和 .html 文件:
./format.sh -s ~/Data/settings.xml -m *.xml,*.html ~/Data/src
您可以在 bin 下的安装目录中找到运行 IntelliJ IDEA 的脚本。 要将此脚本用作命令行启动器,请按照 命令行界面 中描述的方式将其添加到您的系统 PATH。
- 语法
- idea.sh format [<options>] <path ...>
- 示例
使用默认的代码样式设置格式化 ~/Data/src 目录中的两个特定文件:
idea.sh format -allowDefaults ~/Data/src/hello.html ~/Data/src/world.html递归格式化 ~/Data/src 目录中的所有文件,包括所有子目录,使用默认的代码样式设置:
idea.sh format -allowDefaults -r ~/Data/src使用 ~/Data/settings.xml 中的代码风格设置非递归格式化 ~/Data/src 目录中的所有 .xml 和 .html 文件:
idea.sh format -s ~/Data/settings.xml -m *.xml,*.html ~/Data/src
选项
选项 | 描述 |
|---|---|
| 显示帮助信息后退出。 |
| 请指定一个逗号分隔的文件掩码列表,以定义要处理的文件。 您可以使用 |
| 递归处理指定目录。 |
| 指定用于格式化的代码样式设置文件。 这可以是以下之一:
格式化程序还会在父目录中查找 .editorconfig 文件,并在 IntelliJ IDEA 代码样式设置的基础上应用它们进行格式化。 在这种情况下,如果 EditorConfig 的格式设置与您的代码样式方案中的设置重叠,IntelliJ IDEA 将使用 EditorConfig 中的设置。 其余设置将从您的代码样式方案中获取。 更多信息请参阅 EditorConfig。 如果未指定此选项,该文件将被跳过。 如果在某个父文件夹中有项目,其设置将被隐式使用,以及 EditorConfig。 |
| 在未为文件或一组文件定义代码风格时,使用默认代码风格设置:当 |
| 请保留编码并强制执行用于读取和写入源文件的字符集,例如: 如果命令行格式器无法正确处理源文件中的特殊字母,此选项非常有用。 |
| 在验证模式下运行格式化程序。 格式化程序将在内存中执行相同的格式化操作,如果任何格式化文件与原始文件不同,将以非零状态退出。 |