ctrl + alt + l 是最快最稳的批量缩进方案,但需先正确配置 code style → python → tabs and indents:禁用 tab 字符、设 tab/indent/continuation indent 为 4、勾选 keep indents on empty lines。

Ctrl + Alt + L 是最快、最稳的批量缩进方案,但前提是你的 Code Style → Python → Tabs and Indents 设置正确。否则格式化后可能缩进错乱、空格 Tab 混用,甚至触发 IndentationError。
为什么直接按 Tab 键不推荐用于“批量修改缩进”
选中多行后按 Tab 或 Shift + Tab 确实能快速增减一级缩进,但它只做“机械位移”,不校验上下文结构。比如在函数体里按 Tab,可能把 return 行缩进到错误层级;注释行、空行、字符串内缩进也会被一并拖动,后续容易出错。
- 它不识别代码块边界(如
if/for的作用域) - 不处理续行(
continuation indent)或括号对齐 - 无法自动优化 import 或修复混合缩进(Tab + 空格)
真正批量缩进前必须检查的三项设置
PyCharm 的 Reformat Code 行为完全取决于这些配置,跳过这步等于拿枪瞎打:
Settings → Editor → Code Style → Python → Tabs and Indents- 确认
Use tab character未勾选(即用空格缩进) - 确认
Tab size、Indent、Continuation indent均设为4(PEP 8 推荐值) - 勾选
Keep indents on empty lines—— 否则格式化后空行缩进会被清空,破坏结构视觉节奏
三种批量缩进场景对应的操作方式
别死记快捷键,按场景选对方法:
PyCharm 2026.2是 JetBrains PyCharm 的指定版本安装包,下载地址指向官方 Windows 安装包直链,可用于旧项目兼容、版本回退和环境测试。
-
只改当前文件:光标在编辑区任意位置,按
Ctrl + Alt + L(Windows/Linux)或Cmd + Option + L(macOS) -
改整个包或目录:在
Project面板中右键点击文件夹 →Reformat Code…→ 勾选Optimize imports→ 点击OK -
只缩进选中代码段:先鼠标/键盘选中目标代码 → 按
Ctrl + Alt + L→ 弹窗中选Selected text范围 → 确认
注意:Reformat Code 默认会重排括号、调整运算符间距、合并空行——如果你只想动缩进,得提前在 Settings → Editor → Code Style → Python → Other 里关掉无关选项,比如 Align when multiline 或 Wrap on typing。
缩进出错后怎么快速回滚
格式化不是原子操作,一旦缩进错乱,别手动一行行调:
- 立即按
Ctrl + Z(最多可撤回到格式化前状态) - 如果已保存,从
Local History → Show History恢复上一版本(右键文件 →Local History → Show History) - 若多人协作且提交了错误缩进,用
git diff定位变更范围,再针对性Reformat Code对应文件
真正麻烦的不是缩进本身,而是混用 Tab 和空格后 PyCharm 无法自动识别哪些该保留、哪些该转换——这种文件必须先用 File → Convert Indents → To Spaces 统一清理,再执行格式化。










