无需登录 数据私有 本地保存

代码折叠编辑器演示 - 基于缩进的折叠功能

27
0
0
0
0 行 · 可折叠 0 块 · 已折叠 0
编辑代码(粘贴或修改后点击"应用代码")

📘 常见问题

基于缩进的代码折叠是一种根据代码行前导空白(空格或制表符)来判断代码块层级的技术。缩进更深的行被视为其上方缩进较浅行的"子内容"。当折叠一个代码块时,所有缩进深度大于该行、且属于该块范围内的后续行都会被隐藏,从而实现代码结构的快速浏览。这种折叠方式特别适合Python、YAML、HAML等对缩进敏感的语言。

本工具采用纯缩进分析,不依赖特定语言的语法,因此理论上支持所有使用缩进来组织代码块的语言:Python、YAML、CoffeeScript、HAML、Slim、Starlark等。对于使用大括号的语言(如JavaScript、C/C++、Java、Go),如果代码也保持了良好的缩进习惯,同样可以获得合理的折叠效果。您可以通过缩进大小选择器来适配不同项目的缩进规范(2空格、4空格、8空格或Tab)。

不会。点击"复制代码"按钮时,复制的是完整的原始代码,包括所有被折叠隐藏的行。折叠功能仅影响当前视图的显示,绝不改变底层代码内容。您可以放心地折叠代码来获得清晰的概览,同时确保复制的代码保持完整。

折叠范围通过以下规则确定:从当前行开始,向下查找所有缩进深度严格大于当前行的连续行,直到遇到第一个缩进深度≤当前行的行为止(该行不属于折叠范围)。例如,一个缩进为0的`def`语句,其折叠范围将包含所有缩进≥1的内部代码,直到下一个缩进为0的顶层语句之前。

嵌套折叠完全支持。每一层缩进都可以独立折叠。当外层代码块被折叠时,其内部所有行(包括内层折叠头)都会被隐藏。当外层展开时,内层的折叠状态会被保留——即之前折叠的内层块仍然保持折叠状态。这使得您可以逐层深入查看代码结构,就像在VS Code或PyCharm等IDE中的体验一样。