重新格式化并重新排列代码
最后修改时间:2023 年 11 月 24 日PyCharm 允许您根据当前代码样式方案或.editorconfig文件中指定的要求重新格式化代码。如果 中未定义任何内容.editorconfig
,则将从项目设置中获取。
您可以重新格式化部分代码、整个文件、文件组、目录和模块。您还可以从重新格式化中排除部分代码或某些文件。PyCharm 遵守PEP8规则和要求来安排和格式化 Python 代码。
重新格式化代码片段
在编辑器中,选择要重新格式化的代码片段。
在重新格式化之前,您可以查看应用于所选代码的代码样式设置:按并单击调整代码样式设置。AltEnter
在主菜单中,转到代码 | 重新格式化代码或按。CtrlAlt0L
笔记
如果您不选择代码片段,PyCharm 将重新格式化整个文件。
重新格式化文件
在编辑器中打开文件,然后按或 在“项目”工具窗口中,右键单击该文件并选择“重新格式化代码”。CtrlAltShift0L
笔记
按住并选择其他文件以进行组重新格式化。Shift
在打开的“重新格式化文件”对话框中,如果需要,请选择以下重新格式化选项:
优化导入:如果您想要删除未使用的导入、添加缺失的导入或组织导入语句,请选择此选项。
重新排列条目:如果您需要根据代码样式设置中指定的排列规则重新排列代码,请选择此选项。
代码清理:选择此选项可运行代码清理检查。
不保留换行符:根据代码样式设置重新格式化换行符。此选项会覆盖重新格式化时保留 | 换行符设置。
单击运行。
如果您想查看重新格式化期间对代码所做的确切更改,请使用本地历史记录功能。
重新格式化行缩进
您可以根据指定的设置重新格式化行缩进。
在编辑器中,选择必要的代码片段并按。CtrlAlt0I
如果您需要调整缩进设置,请在“设置”对话框 ( ) 中,转至编辑器|缩进设置。代码风格。CtrlAlt0S
在相应语言页面的制表符和缩进选项卡上,指定适当的缩进选项,然后单击确定。
笔记
在某些情况下,选项“检测并使用现有文件缩进进行编辑”位于“文件”| “缩进检测”部分中。设置 | 编辑| 代码样式可以覆盖您的设置。在这种情况下,PyCharm 将显示一条通知。
保存时自动重新格式化代码
您可以将 IDE 配置为在保存更改后自动重新格式化已修改文件中的代码。
按打开 IDE 设置,然后选择“工具”|“IDE”。保存操作。CtrlAlt0S
启用重新格式化代码选项。
此外,您还可以配置 IDE 重新格式化代码的方式:
单击“配置范围”以指定要从重新格式化中排除的文件名和目录模式。
从“所有文件类型”列表中,选择要重新格式化代码的文件类型。
如果您的项目受版本控制,请选择“整个文件”或“更改的行” 。
如果您选择Changedlines,则重新格式化将仅适用于已在本地更改但尚未签入存储库的代码行。
从重新格式化中排除文件
您可以从重新格式化、代码排列和导入优化中排除一组文件和目录。
在“设置”对话框 ( ) 中,转到编辑器 | 代码风格。CtrlAlt0S
切换到“格式化程序”选项卡,然后在“不格式化”字段中,输入要使用glob 模式排除的文件和目录。
您可以指定多个用分号分隔的全局模式
;
。如果单击,该字段将展开,并且每个模式将显示在单独的行上。应用更改并关闭对话框。
排除代码片段在编辑器中重新格式化
在“设置”对话框 ( ) 中,转到编辑器 | 代码风格。CtrlAlt0S
切换到“格式化程序”选项卡并启用“在代码注释中使用标记打开/关闭格式化程序”选项。
在编辑器中,在要排除的区域的开头,创建行注释并输入。在该区域的末尾,创建另一行注释并输入。Ctrl0/
@formatter:off
@formatter:on
标记之间的代码不会被重新格式化。
保留现有格式
您可以选择格式化规则,重新格式化代码时将忽略这些规则。例如,您可以调整 IDE 以将简单的方法和函数保留在一行中,而通常在代码重新格式化后它们会扩展为多行。
转到设置 | 编辑| 代码样式,选择您的编程语言,然后打开“换行和大括号”选项卡。
在“重新格式化时保留”部分中,选择要忽略的格式规则并取消选择应应用的规则。
重新格式化您的代码( )。CtrlAlt0L
PyCharm 将根据当前样式设置重新格式化您的代码,并保留您选择的规则的现有格式。
使用 Black 重新格式化 Python 代码
您可以使用Black在 PyCharm 中格式化您的 Python 代码。如果您的系统或项目解释器中安装了 Black,您将看到以下通知:
配置黑色
执行以下操作之一:
单击通知弹出窗口中的“配置” 。
转到工具| 设置对话框中的黑色( )。CtrlAlt0S
在执行模式下拉列表中,选择 PyCharm 应如何运行 Black 格式化程序:
在二进制模式下,将使用系统中安装的 Black 可执行文件。如果未找到可执行文件,您可以通过单击图标指定路径:
在包模式下,PyCharm 使用项目解释器中安装的 Black 包。您可以通过单击Install Black为所选解释器安装 Black 软件包:
选择何时运行 Black 格式化程序:
当您按或选择“代码”|“代码重新格式化”时,启用“代码重新格式化”复选框以使用黑色而不是内置格式化程序。从主菜单重新格式化代码。CtrlAlt0L
如果您希望在保存更改时自动运行 Black formatter,请选择“保存时”。要配置其他操作,请单击保存时的所有操作。
黑色格式化程序的设置可以在pyproject.toml中配置。对于 Black v21.4.0 及更高版本,它们会自动应用。有关更多信息,请参阅Black 文档。
您可以使用“设置”字段指定其他选项或覆盖pyproject.toml中的设置:
有关更多信息,请参阅Black CLI 参考。
重新排列代码
警告
目前,您无法重新排列 Python 代码。但是,该命令可用于 JavaScript 和 XML。
您可以根据“设置”对话框的“代码样式”页面上设置的排列规则重新排列代码。
提示
您可以从排列中排除特定文件和文件夹。有关详细信息,请参阅从重新格式化中排除文件。
重新排列代码条目
在“设置”对话框 ( ) 中,转到编辑器 | 代码风格。CtrlAlt0S
选择您要为其创建排列规则的语言。
在排列选项卡上,指定适当的选项,例如分组和匹配规则。
单击“确定”保存更改。
在编辑器中,选择要重新排列的代码条目,然后转到“代码”|“代码”。重新排列代码。
感谢您的反馈意见!