Snow-IntelliJ v1.1.0 已经发布,Snow 编程语言 IDEA 插件
Snow-IntelliJ v1.1.0 已经发布,Snow 编程语言 IDEA 插件
此版本更新内容包括:
版本更新
重构与优化
文档体系全面重构与扩展
- 大幅细化插件扩展点说明,补充
.snow文件类型、语法高亮、SDK、模板、运行配置等关联模块的完整文档。 - 丰富导航、符号、查找使用(Find Usages)、文档提示与引用解析的说明,确保整体文档体系更系统化。
- 新增注释系统、索引服务(SymbolIndex)和 PSI 深度集成的技术文档,优化图示结构、提升可读性。
- 对 README 进行结构与排版重构:标题与图标居中、徽章补全、目录结构升级、联系方式格式修复。
代码格式化与缩进逻辑重大优化
- 全面重写 Snow 语言缩进与格式化模型,引入
SnowIndentCalculator、SnowIndentSnapshot与官方 AST 信息。 - 使用块栈(Block Stack)模型识别 module/function/struct/loop/if 等多层结构,支持 section 对齐与层次缩进。
- 删除旧逻辑并采用统一的
SpacingBuilder控制空格与换行规则,避免格式化破坏用户结构。 - 修复缩进负值、错误缩进回退和 init/loop 嵌套的边界问题,提高格式化一致性与稳定性。
语法高亮与词法解析优化
- 支持字符串转义字符解析、语法高亮与有效性判断,包含 Unicode escape。
- 完善词法分析器增量处理逻辑,强制全量重新切分 buffer,修复因状态残留导致的错误。
- 支持一元运算符
+/-的特殊空格格式化规则,优化空格计算与节点识别逻辑。
项目级符号索引(Symbol Index)全面重构
- 统一以
SnowSymbolIndexService作为项目级符号缓存中心,取代全量扫描。 - 为跳转、引用查找、导航、按名称查找等功能提供统一的高性能缓存入口。
- 引入文件级 + 项目级多层缓存,提升响应速度与增量更新能力。
- RunConfiguration 采用新序列化框架重构配置持久化逻辑。
运行配置、注释器与缓存机制优化
- SnowCompileModeAction 引入项目识别缓存机制,减少重复判断并避免 EDT 耗时操作。
- 修复 Commenter 接口类型声明不一致、空安全问题与多余 import。
- 统一折叠占位符为
...,简化逻辑并增强空行与注释的跳过检查。
新增功能
Snow 语言代码折叠(Folding)全面支持
- 在
plugin.xml注册SnowFoldingBuilder,支持 module/function/struct/body/if/loop 等代码块折叠。 - 新增 PSI 级折叠区域构建逻辑,替代原始文本正则方式。
- 支持多类型代码块、注释与空行过滤、自定义占位符(300 限长)、默认展开策略。
字符串 escape 高亮与处理能力增强
- 增加 escape token 集合、颜色配置项与 Lexer 级拆分与校验逻辑。
- 提供示例与文档演示,提升 Snow 字符串可读性与编辑体验。
十六进制科学计数法数字解析
- 新增十六进制数字识别、0x/0X 前缀支持,以及针对十六进制的独立扫描逻辑。
- 支持科学计数法仅在十进制使用,避免混用。
代码注释快捷键与注释处理支持
- 完整支持行注释、块注释的插入、删除与格式化。
- 配套注释语法高亮、编辑器行为与文档说明。
依赖升级
Snow 依赖全面升级至 0.13.1
- 升级全套 snow-lang 依赖:common、parser、semantic、ir、backend、vm、lexer 等。
- 统一迁移到新的
com.snowlang包组织结构,提高依赖一致性。 - 同步更新
snow-frontend-common支持 IDE 前端集成能力。
工具链与构建环境升级
- Kotlin 升级至
2.2.21,提升语言特性与插件兼容性。 - IntelliJ 平台插件升级至
2.9.0,改善 API 使用与 IDE 集成。 - Gradle 配置优化,使用
snowVersion、ideaApiVersion等属性集中管理版本。
如遇到使用问题,欢迎及时 提交 Issue
详情查看:https://gitee.com/jcnc-org/snow-intelli-j/releases/v1.1.0