关于 Toon Tools Vsx
TOON Tools for VS Code 是用于处理紧凑表格格式 `.toon` 文件的编辑器扩展,在 VS Code 中提供编辑辅助、验证、转换、预览和数据导出。
主要功能
- 01高亮并格式化 TOON 语法
- 02检查行数和字段值
- 03导航区块并查看字段提示
- 04在 TOON 与 JSON 间转换
- 05以可排序表格查看区块
- 06分析大小并将区块导出为 CSV
适用场景
- 01在 VS Code 中编辑和验证 `.toon` 文件
- 02将 JSON 数据转换为 TOON 或反向转换
- 03通过筛选查看表格区块
- 04比较文件大小并导出 CSV
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
TOON Tools for VS Code
支持 Token-Oriented Object Notation:语法高亮、格式化、Lint、智能编辑、预览、表格查看器,以及双市场发布。
TOON Tools 将 .toon 文件转变为 VS Code 中一流的紧凑表格数据编辑体验。它支持编写、诊断、JSON 转换、数据检查、大小分析和 CSV 导出,无需离开编辑器。
功能
| 功能 | 描述 |
|---|---|
| 语法高亮 | TextMate 语法支持块名称、行数、字段、注释、带引号的字符串、空值和分隔符的高亮显示。 |
| 格式化程序 | 规范化标头、行缩进、逗号间距和尾随空格。 |
| Lint | 报告行数不匹配、重复字段,以及值数量错误的行。 |
| 悬停 | 在标头上显示块元数据,在数据行单元格上显示字段名称。 |
| 内嵌提示 | 在行值前显示字段名称提示,可通过 toon.inlayHints.enabled 控制。 |
| 重命名和定义 | 从标头重命名块或字段名称,并可从数据行跳转回块标头。 |
| JSON 转换 | 将 JSON 数组或由数组组成的对象转换为 TOON,也可将 TOON 转回 JSON。 |
| Table Viewer | 在采用 VS Code 主题的 Webview 中检查块,并进行排序和筛选。 |
| Size Analyzer | 比较 TOON 和 JSON 的字节数、行数及 Token 估算值。 |
| CSV 导出 | 从命令面板或上下文菜单将任意 TOON 块导出为 CSV 文件。 |
预览
语法高亮与诊断

内嵌提示

Table Viewer

编辑器和表格预览

安装
从 VS Code Marketplace 或 Open VSX 安装。若要安装本地 VSIX 构建版本,请运行:
pnpm run package
code --install-extension ./toon-tools-vsx-<version>.vsix
使用方法
打开 .toon 文件即可启用语法高亮、诊断、悬停、内嵌提示、格式化和导航。使用命令面板执行转换、预览、表格检查、Token 大小分析和 CSV 导出命令。
TOON 格式规范
TOON 将表格记录存储为具名块:
users[3]{id,name,role}:
1,Alice,admin
2,Bob,user
3,Charlie,user
标头语法:
BlockName[rowCount]{field1,field2,...}:
行由缩进的逗号分隔值组成。允许空值。双引号括起来的值可以包含逗号,嵌入的引号通过重复两个引号进行转义:
users[2]{id,name,note}:
1,"Bob, Jr.","Says ""hello"""
2,Alice,
当行以可选空白字符开头时,# 用于标记注释。完整语法和示例请参阅
docs/toon-spec.md。
配置
| 设置 | 默认值 | 描述 |
|---|---|---|
toon.linter.enabled | true | 启用实时 TOON 检查。 |
toon.linter.debounceMs | 300 | 文档更改时执行检查的防抖延迟,单位为毫秒。 |
toon.formatter.indentWidth | 2 | 行缩进的空格数。允许的值:2、4。 |
toon.formatter.fieldSpacing | compact | 标题字段分隔符样式:compact 或 spaced。 |
toon.conversion.toJsonValueMode | strings | TOON 转 JSON 的值模式:strings 或 typed。 |
toon.inlayHints.enabled | true | 在数据行中显示字段名称内嵌提示。 |
toon.statusBar.enabled | true | 在 VS Code 状态栏中显示当前 TOON 块数量。 |
.toonrc 文件依据 schemas/toon-config.schema.json 进行验证。
命令
| 命令 | 描述 | 默认快捷键 |
|---|---|---|
TOON: Convert JSON to TOON | 将当前 JSON 文档或所选内容转换为 TOON 预览。 | 无 |
TOON: Convert TOON to JSON | 将当前 TOON 文档或所选内容转换为格式化的 JSON。 | 无 |
TOON: Open JSON Preview (side) | 为当前 TOON 文档打开并排 JSON 预览。 | 无 |
TOON: Open TOON Preview (side) | 为当前 JSON 文档打开并排 TOON 预览。 | 无 |
TOON: Open Table Viewer | 在可排序的表格查看器中打开当前 TOON 文档。 | 无 |
TOON: Analyze Size / Tokens | 比较 TOON 和 JSON 的字节数及令牌估算值。 | 无 |
TOON: Export Block as CSV | 将所选 TOON 块导出为 CSV。 | 无 |
扩展开发
git clone https://github.com/oaslananka/toon-tools-vsx.git
cd toon-tools-vsx
corepack enable
pnpm install --frozen-lockfile
pnpm run build
使用 F5 和 Launch TOON Extension 配置启动扩展。
实用的本地检查:
pnpm run format:check
pnpm run lint
pnpm run typecheck
pnpm run test:unit:coverage
pnpm run build
pnpm run package
自动化和定期执行的仓库检查见 docs/automation.md。
工作区信任与安全
TOON Tools 声明对不受信任工作区提供有限支持。在不受信任的工作区中,检查、格式化、语法高亮、 悬停提示和内嵌提示均可使用。扩展元数据将转换命令标记为对信任敏感,因为这些命令会读取文档内容并可创建派生文档。 预览、表格查看器、大小分析和 CSV 导出命令也会处理当前文档内容,并可创建 Webview 或文件;仅对你信任的工作区内容使用这些功能。
Webview 使用 VS Code 主题变量、localResourceRoots、限制严格的内容安全策略
以及使用 Node crypto 生成的 nonce。
已知限制
此扩展实现了严格的 TOON 表格块子集。带引号的行值支持逗号和
转义的双引号。默认情况下,TOON 转 JSON 会将值保留为字符串;可通过 toon.conversion.toJsonValueMode 启用原始类型推断。JSON 转 TOON 需要输入对象数组,或包含对象数组的对象;对象键必须是有效的 TOON 块名和
字段名。
支持
请在 GitHub Issues 中提交 Bug、功能请求和与安全相关的加固请求。如需私下报告漏洞, 请使用 GitHub 私密漏洞报告或私密安全公告。
贡献
请参阅 docs/contributing.md。
License
MIT. See LICENSE.
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。