Snow-IntelliJ v1.1.1 发布:Snow 代码折叠系统全面重构

版本更新
重构与优化
代码折叠架构深度重构与精细调优
- 彻底弃用原有依赖正则表达式的文本级折叠方案,转而基于 PSI 结构与词法 Token 构建全新折叠体系,显著提升折叠精度与运行稳定性。
- 深度集成 SnowCompilerCache 提供的 Token 流信息,强化对语法节点边界的识别能力,使折叠锚点更可靠。
- 对 module、function、struct、body、if、loop 等核心结构的折叠规则进行升级,支持更深层嵌套与复杂语法组合。
- 引入严格的
end关键字闭合匹配机制,大幅降低误折叠、漏折叠及无效区域折叠的发生概率。 - 新增工具方法
findClosingKeyword,增强对行内关键字(如end if、end loop)的解析鲁棒性,保障多层嵌套结构下折叠行为的一致性。 - 移除陈旧的字符串扫描式折叠实现,整体响应速度、内存占用与异常容错能力均获得明显改善。
折叠区域边界与占位符体验升级
- 重写折叠起止偏移量计算逻辑,杜绝过短折叠、越界折叠及跨无效行折叠等问题。
- 增强空行与注释行的智能跳过策略,确保折叠内容严格贴合语义块,提升结构可理解性。
- 统一各类型折叠占位符的显示格式与交互样式,兼顾简洁性与上下文提示能力,优化编辑过程中的视觉反馈。
新增功能
多行注释块折叠支持
- 在折叠构建器中新增对
/* ... */类型多行注释的原生识别模块。 - 支持完整注释段落的折叠收起与自定义占位符展示(如
/* ... */或摘要文本)。 - 自动提取首行有效注释内容生成简明折叠标题,兼顾信息密度与可读性。
- 内置注释长度安全校验,防止超长或非法字符导致折叠流程中断。
loop 循环区块折叠支持
- 基于
init:、cond:、step:标签自动识别循环声明结构体。 - 结合缩进层级与语句连续性分析,精准界定 loop 主体范围。
- 自动忽略空行及缩进异常语句,确保折叠区域真实反映逻辑作用域。
returns 返回段落折叠支持
- 新增对
returns:(不区分大小写)关键字引导段落的折叠识别能力。 - 利用缩进一致性判断与空行分隔规则,动态划定跨多行 returns 内容边界。
- 优化起止位置定位算法,使折叠区域与语义上的返回声明段完全对齐。
params 参数段落折叠支持
- 新增专用方法
buildParamsFolds,专用于处理以params:开头的参数定义块。 - 支持解析 params 下的嵌套结构与字段声明,准确推导其折叠覆盖范围。
- 兼容多级缩进与空行间隔场景,保证折叠效果自然、稳定、符合预期。
import 与 globals 全局区块折叠支持
- 实现连续
import语句的自动聚类折叠,合并为单一可展开代码块。 - 新增
globals区块识别能力,依据缩进层级与关键字特征捕获全局配置段。 - 将 import / globals 统一纳入折叠管理管线,标准化其处理路径与结果输出。
- 优化折叠信息组织方式,使项目顶层结构更清晰、导航更高效。
若在使用过程中遇到任何问题,欢迎随时 提交 Issue 反馈
源码地址:点击下载

<< 上一篇
网友留言(0 条)