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