Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Hi语言vscode扩展New to Visual Studio Code? Get it now.
Hi语言vscode扩展

Hi语言vscode扩展

hi-org

|
1 install
| (1) | Free
Hi编程语言的VSCode扩展,提供语法高亮、智能补全、定义跳转等功能
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Hi Language Support for VS Code

一个为VS Code提供Hi编程语言支持的扩展。

功能特性

🎨 语法高亮

  • 部分的Hi语言语法高亮支持
  • 支持关键字、字符串、数字、注释等语法元素
  • 基于TextMate语法定义,提供精确的语法着色

🚀 智能代码补全(待完成)

  • 关键字补全:函数、类型、模块、控制流等关键字
  • 类型补全:内置类型(整数、字符串、布尔型等)和自定义类型
  • 函数补全:显示函数签名、参数和返回类型
  • 枚举补全:枚举类型和枚举值
  • 上下文感知:根据当前代码上下文提供相关补全

🔍 定义跳转(待完成)

  • 跳转到函数定义
  • 跳转到类型定义
  • 跳转到枚举定义
  • 支持在同一文件内的精确定位

💡 悬停提示(待完成)

  • 关键字说明:显示Hi语言关键字的详细说明
  • 函数信息:显示函数签名、参数类型和返回类型
  • 类型信息:显示自定义类型的详细信息
  • Markdown格式:美观的悬停提示界面

🔧 语法诊断(待完成)

  • 语法错误检测:实时检测语法错误
  • 字符串验证:检查未闭合的字符串
  • 数字格式验证:验证十六进制、二进制、八进制数字格式
  • 重复定义检查:检测重复的函数名和参数名
  • 实时反馈:在编辑时提供即时的错误提示

Hi语言特性支持

数据和函数定义

<<一个普通的模块>>

// 枚举类型
状态 [
    待处理
    | 进行中
    | 已完成 = 123
]

/*
  定义数据结构,默认私有可变,可以使用!前缀定义不可变属性
  用+号定义公开属性
*/
用户类型 {
    //不可变更的姓名
    !姓名: 字符串
    年龄: 整数
    //公开的属性
    +邮箱: 字符串
}
//不接受任何参数也不返回任何值的私有函数
函数(){}
//公开函数
+函数(){}

//用户类型的私有方法
(用户类型)
方法名(){}

//用户类型的公开方法
(用户类型)
+方法名(){}

控制流

<<一个普通的模块>>

//主函数
^_^(){
  张三 = 用户类型{
    姓名 : "张三"
    年龄 : 18
    邮箱 : "zhangsan@example.com"
  }
  //同一模块内可以互相调用
  张三.方法名()
  张三.公开方法名()
  // 条件语句
  ?[年龄 >= 18] {
      打印("成年人")
  } : {
      打印("未成年人")
  }

  // 循环
  *[ i <- 0..10 ]{
      打印(i)
  }

  // 匹配表达式
  |[状态] {
      :待处理 { 打印("等待处理")}
      :进行中 { 打印("正在处理")}
      :已完成 { 打印("处理完成")}
      :_ { 打印("未知状态")}
  }
}

安装和使用

开发环境要求

  • Node.js 16+
  • VS Code 1.74+

本地开发

  1. 克隆仓库
git clone <repository-url>
cd hi-vscode
  1. 安装依赖
npm install
  1. 编译扩展
npm run compile
  1. 在VS Code中调试
  • 按 F5 启动扩展开发主机
  • 在新窗口中打开 .hi 文件进行测试

打包扩展

npm run package

技术架构

核心组件

  • Extension Host: VS Code扩展主入口,管理Language Client
  • Language Server: 基于LSP协议的语言服务器,提供智能功能
  • Parser: Hi语言的词法和语法分析器
  • TextMate Grammar: 语法高亮定义文件

技术栈

  • TypeScript: 主要开发语言
  • Vite: 现代化构建工具
  • Language Server Protocol: 语言服务协议
  • TextMate: 语法高亮引擎

项目结构

hi-vscode/
├── src/
│   ├── extension.ts          # 扩展主入口
│   └── language-server/
│       ├── server.ts         # Language Server实现
│       └── parser.ts         # Hi语言解析器
├── syntaxes/
│   └── hi.tmLanguage.json    # TextMate语法定义
├── language-configuration.json # 语言配置
├── package.json              # 扩展清单
├── vite.config.ts           # Vite配置
└── tsconfig.json            # TypeScript配置

开发规范

  • 使用 TypeScript 进行开发
  • 遵循 ESLint 代码规范
  • 为新功能添加测试用例
  • 更新相关文档

许可证

MIT License - 详见 LICENSE 文件

更新日志

v0.0.1

  • ✨ 初始版本发布
  • 🎨 部分语法高亮支持
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft