Thrift Support for VSCode
English | 中文

一个为 VSCode 提供 Apache Thrift 文件完整支持的扩展,包含语法高亮、代码格式化和导航功能。
开发者请阅读开发指南:见仓库根目录的 DEVELOPMENT.md。
🚀 功能特性
语法高亮
- 完整的 Thrift 语法支持,包括关键字、数据类型、字符串、注释和数字字面量
- 支持所有 Thrift 原生类型和容器类型
- 智能的语法着色,提升代码可读性
代码格式化
- 文档格式化:一键格式化整个 Thrift 文件
- 选择格式化:格式化选中的代码块
- 智能对齐:自动对齐字段类型、字段名和注释
- 可配置选项:支持自定义缩进、行长度等格式化规则
代码导航
- 跳转到定义:快速导航到类型定义
- 包含文件解析:支持跟踪
include
语句
- 工作区搜索:在整个工作区中查找定义
📦 安装
- 打开 VSCode
- 进入扩展市场 (
Ctrl+Shift+X
)
- 搜索 "Thrift Support"
- 点击安装
🔧 使用方法
格式化代码
- 格式化文档:
Ctrl+Shift+I
(Windows/Linux) 或 Cmd+Shift+I
(Mac)
- 格式化选择:选中代码后使用
Ctrl+K Ctrl+F
(Windows/Linux) 或 Cmd+K Cmd+F
(Mac)
- 命令面板:
Thrift: Format Document
Thrift: Format Selection
发布命名空间:tanzz
(VS Marketplace 与 Open VSX 均使用此命名空间)
代码导航
- 跳转到定义:
F12
或 Ctrl+点击
类型名
- 查看定义:
Alt+F12
配置选项
在 VSCode 设置中可以配置以下选项:
{
"thrift.format.trailingComma": "preserve", // "preserve" | "add" | "remove"
"thrift.format.alignTypes": true,
"thrift.format.alignFieldNames": true,
"thrift.format.alignStructEquals": false,
"thrift.format.alignComments": true,
"thrift.format.alignEnumNames": true,
"thrift.format.alignEnumEquals": true,
"thrift.format.alignEnumValues": true,
"thrift.format.indentSize": 4,
"thrift.format.maxLineLength": 100,
"thrift.format.collectionStyle": "preserve" // "preserve" | "multiline" | "auto"
}
📝 格式化示例
格式化前:
struct User{
1:required string name
2:optional i32 age,
3: string email // user email
}
格式化后:
struct User {
1: required string name,
100: optional i32 age,
1000: string email // user email
}
🐛 问题反馈
如果您遇到任何问题或有功能建议,请通过以下方式反馈:
- GitHub Issues:在 项目仓库 中创建 Issue
- 描述问题:请详细描述遇到的问题,包括:
- VSCode 版本
- 扩展版本
- 重现步骤
- 期望行为
- 实际行为
- 提供示例:如果可能,请提供相关的 Thrift 代码示例
🤝 贡献指南
我们欢迎社区贡献!如果您想为项目做出贡献:
贡献方式
- 报告 Bug:发现问题请及时报告
- 功能建议:提出新功能的想法和建议
- 代码贡献:提交 Pull Request
- 文档改进:帮助完善文档
开发环境
开发相关内容已迁移至 DEVELOPMENT.md,请前往查看最新要求与步骤(包括 Node.js 版本、构建、测试与发布流程)。
提交 Pull Request
- 创建功能分支:
git checkout -b feature/your-feature
- 提交更改:
git commit -m "Add your feature"
- 推送分支:
git push origin feature/your-feature
- 创建 Pull Request
📄 许可证
本扩展基于 MIT 许可证开源。
🔄 更新日志
完整的更新记录请查看 CHANGELOG:
- 本地:CHANGELOG.md
- GitHub:https://github.com/tzzs/vsce-thrift-support/blob/master/CHANGELOG.md
🔗 相关链接
享受使用 Thrift Support 扩展! 如果觉得有用,请在 GitHub 给我们一个 ⭐️