# Snow-IntelliJ **Repository Path**: jcnc-org/snow-intelli-j ## Basic Information - **Project Name**: Snow-IntelliJ - **Description**: 一个为 IntelliJ 平台开发的 Snow 语言支持插件,为现代 AI 时代的编程语言提供完整的 IDE 功能集成。 - **Primary Language**: Kotlin - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: https://snow-lang.com/ - **GVP Project**: No ## Statistics - **Stars**: 9 - **Forks**: 4 - **Created**: 2025-10-09 - **Last Updated**: 2025-12-10 ## Categories & Tags **Categories**: idea-plugins **Tags**: snow, IDEA, Intellij, Jetbrains, SnowLang ## README

Snow Icon

Snow IntelliJ 插件

Gitee Star fork

## 项目简介 Snow 是一门为 LLM(大语言模型)时代设计的现代编程语言,旨在让 AI 更容易理解和生成代码,提高人机协同编程的效率和一致性。 本插件由 Snow 官方团队开发,为 IntelliJ 平台提供全面的语言支持。 Snow 编程语言仓库: [https://gitee.com/jcnc-org/snow](https://gitee.com/jcnc-org/snow) 插件通过集成 Snow 官方的完整工具链(lexer、parser、semantic、ir、backend、vm),提供从代码解析到编译运行的全流程支持。 ## 核心功能 ### 语法高亮 - 支持 Snow 语言的语法高亮 - 可自定义颜色配置 - 实时同步更新 ### 代码编辑 - 智能代码补全:基于上下文的关键字和标识符建议 - 语法和语义诊断:实时错误检测和提示 - 代码格式化:内置格式化器保持代码风格一致 ### 导航和重构 - **Go to Definition(跳转到定义)**:快速导航到符号定义 - **Find Usages(查找引用)**:查找标识符的所有使用位置 - **Go to Symbol(按名称导航)**:快速定位函数、模块、结构体等 - **Rename(重命名)**:支持安全的符号重命名 ### 项目管理 - 自动识别 Snow 项目结构 - 解析源文件和模块依赖 - 新项目向导,快速创建 Snow 项目 - SDK 配置支持 ### 代码执行 - 运行配置:支持 Snow 程序的执行 - 编译模式切换 - 编译缓存优化 ### 文档支持 - 内置类型文档 - 快速文档查看 - Snow 语言文档注释支持 ### LLM 协同优化 - 代码结构和语义标签设计便于 AI 理解和生成 - 完整的符号系统(函数、模块、结构体、变量等) ## 系统要求 - **IntelliJ IDEA 版本**:2025.1.4.1 或更新(插件自 Build 251 起支持) - **Java 版本**:JVM 21+ - **Gradle 版本**:7.0+ ## 项目架构 ### 核心模块 ``` src/main/kotlin/org/jcnc/snowintellij/ ├── actions/ # 用户操作入口(创建文件、切换编译模式等) ├── comment/ # 代码注释处理 ├── completion/ # 智能代码补全 ├── compiler/ # 编译器相关逻辑 │ ├── adapter/ # Lexer/Parser 适配器 │ ├── builder/ # 描述符构建器 │ ├── error/ # 错误处理 │ ├── model/ # 数据模型 │ └── util/ # 编译器工具类 ├── documentation/ # 文档提供者 ├── findusages/ # 查找使用位置功能 ├── folding/ # 代码折叠 ├── formatter/ # 代码格式化 │ ├── block/ # 格式化块处理 │ ├── indent/ # 缩进计算 │ └── spacing/ # 间距规则 ├── highlight/ # 语法高亮 ├── index/ # 符号索引服务 ├── lexer/ # 词法分析 ├── navigation/ # 导航处理器(Go to Definition 等) ├── parser/ # 语法分析 ├── project/ # 项目管理与向导 ├── psi/ # 程序结构接口 (PSI) │ └── impl/ # PSI 实现类 ├── references/ # 符号引用解析 ├── run/ # 运行配置与执行 ├── sdk/ # SDK 类型与工具 ├── structure/ # 代码结构视图 ├── symbols/ # 符号系统 ├── templates/ # 文件模板 └── util/ # 工具类 ``` ## 开发指南 ### 环境准备 1. **安装 IntelliJ IDEA**(推荐 2025.1.4.1 或更新版本) 2. **配置 JDK 21** 3. **克隆项目** ```bash git clone https://gitee.com/jcnc-org/snow-intelli-j cd snow-intellij ``` ### 构建项目 使用 Gradle 构建插件: ```bash # Windows ./gradlew.bat build # Linux/macOS ./gradlew build ``` ### 运行和调试 使用 IntelliJ IDEA 自带的 Gradle 任务: 1. 在 IDE 中打开项目 2. 运行 Gradle 任务:`runIde` 启动开发 IDE 3. 或使用 `runIdeForUiTests` 进行 UI 测试 ### 技术栈 - **编程语言**:Kotlin (2.2.21) - **构建工具**:Gradle(Gradle Kotlin DSL) - **依赖库**: - `com.snow-lang:snow-common` - `com.snow-lang:snow-lexer` - `com.snow-lang:snow-parser` - `com.snow-lang:snow-semantic` - `com.snow-lang:snow-ir` - `com.snow-lang:snow-backend` - `com.snow-lang:snow-vm` - **IDE 平台**:IntelliJ Platform SDK (2025.1.4.1) ## 文件说明 | 文件/目录 | 说明 | |-----------------------|---------------------| | `src/main/kotlin/` | 主源代码目录 | | `src/main/resources/` | 资源文件(插件配置、国际化信息等) | | `build.gradle.kts` | Gradle 构建配置 | | `gradle.properties` | Gradle 属性配置 | | `gradlew.bat` | Windows Gradle 包装脚本 | ## 扩展点注册 插件在 `META-INF/plugin.xml` 中注册了以下扩展点: - **文件类型**:Snow 文件类型注册(`.snow` 文件) - **语法高亮**:`SnowSyntaxHighlighterFactory` 提供语法高亮支持 - **颜色设置**:`SnowColorSettingsPage` 支持自定义颜色主题 - **文件模板**:`SnowFileTemplateProvider` 提供新建文件模板 - **SDK 类型**:`SnowSdkType` Snow SDK 配置 - **运行配置**:`SnowRunConfigurationType` 和 `SnowRunConfigurationProducer` 支持程序运行 - **项目向导**:`SnowNewProjectWizard` 新项目创建向导 - **解析定义**:`SnowParserDefinition` 提供语法解析 - **导航和符号**: - `SnowGotoDeclarationHandler` 跳转到定义 - `SnowImportGotoDeclarationHandler` 导入语句的跳转 - `SnowChooseByNameContributor` 按名称导航 - **查找使用**:`SnowFindUsagesProvider` 查找符号使用位置 - **文档**:`SnowDocumentationProvider` 提供文档和类型信息 - **引用解析**:`SnowReferenceContributor` 处理符号引用 - **代码补全**:`SnowCompletionContributor` 智能代码补全 - **注释处理**:`SnowCommenter` 代码注释和反注释 - **代码格式化**:`SnowFormattingModelBuilder` 代码格式化 - **代码格式化后处理**:`SnowDocCommentPostFormatter` 文档注释格式化 - **代码风格设置**:`SnowCodeStyleSettingsProvider` 代码风格配置 - **代码折叠**:`SnowFoldingBuilder` 代码折叠功能 - **结构视图**:`SnowStructureViewFactory` 代码结构视图工厂 ## 插件操作 ### 工具栏操作 - **编译模式切换**:在主工具栏右侧快速切换编译模式 - **创建 Snow 文件**:在新建文件菜单中快速创建 Snow 源文件 ## 贡献指南 欢迎提交 Issue 和 Pull Request! [Git 管理规范](https://gitee.com/jcnc-org/snow/blob/main/docs/Snow-Lang-Git-Management/Snow-Lang-Git-Management.md) ## 许可证 本项目采用 [Apache-2.0](LICENSE) 许可证。 ## 联系方式 - **Snow 官方网站**:[https://snow-lang.com](https://snow-lang.com) - **JetBrains Marketplace**:[https://plugins.jetbrains.com/plugin/28718-snow](https://plugins.jetbrains.com/plugin/28718-snow) - **问题反馈**:[Gitee Issues](https://gitee.com/jcnc-org/snow-intelli-j/issues) --- **Snow Team** © 2025 | Designed for the AI Era