pycharm的“自动换行”默认关闭,需手动开启软换行(soft wrap);当前文件临时开启:右键装订线→勾选soft-wrap current file;全局对.py文件生效:settings→editor→general→勾选use soft wraps in editor并在soft-wrap these files中填*.py;软换行仅视觉折行,不影响实际代码和格式化。

PyCharm 的“自动换行”默认是关闭的,不设置就只能左右拖滚动条——这不是 bug,是设计。要让它视觉上折行显示长代码,必须手动开启软换行(Soft Wrap),且需区分「编辑器」和「Console」两个独立开关。
怎么给当前 Python 文件临时开启软换行
适合调试时快速查看一行超长语句,不改全局配置:
- 右键点击编辑器左侧的装订线(就是显示行号那条灰色竖条)
- 在弹出菜单中勾选
Soft-Wrap Current File - 立刻生效:长行会在窗口右边界处视觉折行,末尾带小箭头 ↵ 表示连续
- 再次右键取消勾选,就恢复原始单行长行显示
怎么让所有 .py 文件默认软换行
这是更常用的长期方案,避免每次打开新文件都手动开:
PyCharm 2026.2提供 JetBrains 官方 2026.2 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。
- Windows/Linux:按
Ctrl+Alt+S打开 Settings;macOS:按Cmd+, - 路径:
Editor → General → Soft Wraps - 勾选
Use soft wraps in editor - 在
Soft-wrap these files输入框里填*.py(不要留空,否则对所有文件生效,包括二进制或日志文件,可能卡顿) - 点
Apply,不用重启,已打开的.py文件会立即刷新换行效果
为什么开了软换行,格式化(Ctrl+Alt+L)还是不拆行
因为软换行只是显示层的事,不影响实际代码内容。你看到的“折行”没插入 \n,所以格式化工具不会动它:
- 想让格式化真正把长行断成多行,要去
Editor → Code Style → Python → Hard wrap at设数值(比如88) - 同时勾选
Wrap on typing,才能边写边自动断行(但容易打断链式调用节奏,慎开) - 注意:
Hard wrap和Soft wrap是两套完全独立的机制,名字像但互不影响 - 常见误操作:只设了
Right margin(右侧参考线),但没设Hard wrap at,结果格式化依旧无视右边距
控制台(Console)输出也想自动换行怎么办
Python 脚本 print 出来的长字符串、Pandas DataFrame 摘要、异常 traceback 在 Console 里默认也不折行:
- Settings 路径:
Editor → General → Console → Use soft wraps in console - 勾选后,所有运行时输出(包括
print()、REPL 返回值、错误堆栈)都会在控制台窗口宽度处软折行 - 这个选项和编辑器里的
Soft wraps是分开控制的,关掉编辑器换行不影响 Console - 如果用了 Jupyter Notebook 插件,Notebook cell 输出不受此设置影响,需单独配置 Notebook 设置
最容易被忽略的一点:软换行开启后,复制粘贴行为不变——你复制的仍是逻辑上的一整行,换行符不会被加进去。别指望靠它生成符合 PEP 8 的可提交代码,它只解决“看得到”的问题。










