Snow-IntelliJ v1.1.1 发布:Snow 代码折叠系统全面重构
版本更新
重构与优化
代码折叠体系全面重构与精细化
- 以 PSI 与 Token 为基础全面替换原有基于正则的文本折叠逻辑,折叠构建更精准稳定。
- 引入 SnowCompilerCache 提供的词法 Token 信息,提升折叠节点识别的准确度。
- 升级 module / function / struct / body / if / loop 等结构体折叠逻辑,增强匹配深度。
- 通过精确的 end 关键字闭合匹配,显著减少错误折叠或无效区域折叠。
- 新增辅助方法
findClosingKeyword,完善行内关键字解析能力,提高复杂结构处理一致性。 - 删除过时的文本扫描折叠实现,整体性能与鲁棒性得到全面提升。
折叠范围与占位符优化
- 全面优化折叠区域的起止偏移计算,避免折叠过短、超范围或包含无效行。
- 引入更严格的空行与注释跳过机制,确保折叠内容更加语义化与可控。
- 统一折叠占位符策略,提升折叠状态下的可读性和用户编辑体验。
新增功能
多行注释折叠支持
- 在折叠构建器中新增对多行注释块的识别能力。
- 支持跨多行的注释区域折叠与占位符文本展示。
- 根据首条有效注释行自动生成折叠简介,提升可阅读性。
- 内置文档长度边界检查,避免异常文本导致折叠构建失败。
循环(loop)区块折叠支持
- 基于 init / cond / step 标签自动识别循环逻辑结构。
- 结合缩进层级判断块范围,实现精准多行折叠。
- 支持过滤空行与缩进不匹配的语句,使折叠区域更符合语义结构。
returns 段落折叠支持
- 新增 returns 代码段折叠能力,自动识别
returns:(大小写不敏感)。 - 基于缩进层次与空行检测计算范围,支持跨多行折叠内容。
- 完善起止偏移逻辑,确保折叠区域与语义段落保持一致。
params 代码段折叠支持
- 新增
buildParamsFolds方法,为以params:开头的代码段提供折叠能力。 - 自动解析 params 结构,精准计算对应的折叠范围。
- 支持空行过滤与多层缩进规则,确保折叠自然稳定。
import 与 globals 区块折叠
- 支持连续
import语句自动折叠为统一代码块。 - 新增
globals折叠能力,通过缩进层次识别全局配置段落。 - 优化对关键字的处理路径,将 import / globals 统一纳入折叠结果集合。
- 提升折叠信息布局,使代码结构更加清晰可读。
如遇到使用问题,欢迎及时 提交 Issue