Ctrl + Shift + NumPad - 是折叠全部的默认快捷键,主键盘减号无效,因该快捷键严格依赖数字小键盘;若无小键盘需启用虚拟数字键盘或重绑定快捷键。

Ctrl + Shift + NumPad - 为什么主键盘减号没反应
默认快捷键是 Ctrl + Shift + NumPad -(Windows/Linux)或 Cmd + Shift + NumPad -(macOS),不是主键盘区的减号。数字小键盘必须开启,NumLock 灯亮;若用笔记本无独立小键盘,需启用系统级“虚拟数字键盘”或改绑快捷键。部分外接键盘 NumPad 区域被识别为普通按键,此时快捷键会静默失败——不报错,也不折叠。
折叠全部后光标乱跳?这是锚点机制在起作用
PhpStorm 折叠时以折叠块首行为“锚点”,展开/折叠会尝试保持该行垂直居中。若光标原在函数中间某行,折叠后整块消失,光标自动落到上一个可见行末尾,看起来像跳转。避免方式有:
- 折叠前按
Home或End将光标移至当前行头/尾 - 改用鼠标点击编辑器左侧折叠箭头(行号旁的小三角),它只改变折叠状态,不重算视口
- 批量操作优先用
Ctrl + Shift + NumPad -,比逐个Ctrl + -更稳定,光标位基本不变
PHP 函数和类不折叠?先确认 PHP 专属规则已启用
Settings → Editor → General → Code Folding → Advanced Settings → PHP 区域里,Functions 和 Classes 必须手动勾选。默认勾选的同名选项是通用语言规则,对 .php 文件无效。同时检查:
- 文件右下角状态栏显示的 Language Level ≥ 7.4(低于则解析失败,折叠不加载)
- 文件以
<?php开头,否则被当 Plain Text 处理 - 函数声明不能跨行异常,例如
function单独一行、foo()在下一行——这种写法不被 AST 识别为可折叠节点
// region 折叠失效的三个硬性条件
自定义折叠块依赖 Custom folding regions 开关和严格格式。常见失效原因:
立即学习“PHP免费学习笔记(深入)”;
-
Custom folding regions未在 Code Folding 设置中勾选 -
// region和// endregion没有独占一行:前后不能有空格、缩进、代码或注释 - 不支持嵌套:
// region A里面再写// region B会导致折叠错乱,只认最外层配对
真正生效的写法只有这一种:
// region 数据配置<br>$config = [<br> 'host' => 'localhost',<br> 'port' => 3306,<br>];<br>// endregion


















