Toon Tools Vsx について
TOON Tools for VS Codeは、コンパクトな表形式の`.toon`ファイルを扱うエディター拡張です。編集支援、検証、変換、プレビュー、データ出力をVS Code内で行えます。
主な機能
- 01TOON構文のハイライトと整形
- 02行数やフィールド値の診断
- 03ブロック間の移動とフィールドヒント
- 04TOONとJSONの相互変換
- 05ブロックをソート可能な表で表示
- 06サイズ分析とCSV出力
活用シーン
- 01VS Codeで`.toon`ファイルを編集・検証
- 02JSONデータをTOONに変換、または逆変換
- 03フィルターで表形式ブロックを確認
- 04ファイルサイズを比較しCSVで出力
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
VS Code 用 TOON ツール
Token-Oriented Object Notation のサポート:シンタックスハイライト、フォーマット、リンティング、 インテリジェントな編集、プレビュー、テーブルビューアー、2 つのマーケットプレイスへの公開。
TOON Tools は、コンパクトな表形式データを扱う .toon ファイルを、VS Code で一流の編集体験に変えます。エディターを離れることなく、作成、診断、JSON 変換、データの確認、サイズ分析、CSV エクスポートを行えます。
機能
| 機能 | 説明 |
|---|---|
| シンタックスハイライト | ブロック名、行数、フィールド、コメント、引用符付き文字列、空の値、区切り文字の TextMate 文法。 |
| フォーマッター | ヘッダー、行のインデント、コンマの間隔、末尾の空白を整えます。 |
| リンター | 行数の不一致、重複フィールド、値の数が正しくない行を報告します。 |
| ホバー | ヘッダーではブロックのメタデータを、データ行のセルではフィールド名を表示します。 |
| インレイヒント | 行の値の前にフィールド名のヒントを表示します。toon.inlayHints.enabled で制御できます。 |
| 名前の変更と定義へ移動 | ヘッダーからブロック名またはフィールド名を変更し、行からブロックヘッダーに移動できます。 |
| JSON 変換 | JSON 配列または配列を値とするオブジェクトを TOON に変換し、TOON を JSON に戻します。 |
| テーブルビューアー | VS Code テーマの Web ビューで、ブロックを並べ替えやフィルターが可能なテーブルとして確認できます。 |
| サイズアナライザー | TOON と JSON のバイト数、行数、トークン数の推定値を比較します。 |
| CSV エクスポート | コマンドパレットまたはコンテキストメニューから、任意の TOON ブロックを CSV ファイルにエクスポートできます。 |
プレビュー
シンタックスハイライトと診断

インレイヒント

テーブルビューアー

エディターとテーブルプレビュー

インストール
VS Code Marketplace または Open VSX からインストールします。ローカルの VSIX ビルドをインストールするには、次を実行します。
pnpm run package
code --install-extension ./toon-tools-vsx-<version>.vsix
使用方法
.toon ファイルを開くと、シンタックスハイライト、診断、ホバー、インレイヒント、フォーマット、ナビゲーションが有効になります。コマンドパレットから、変換、プレビュー、テーブルの確認、トークンサイズ分析、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 のリアルタイム lint を有効にします。 |
toon.linter.debounceMs | 300 | ドキュメント変更時の lint に適用するデバウンス時間(ミリ秒)です。 |
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 は、信頼されていないワークスペースの限定的なサポートを宣言しています。信頼されていないワークスペースでも、lint、フォーマット、構文強調表示、 ホバー、インレイヒントが機能します。この拡張機能のメタデータでは、ドキュメントの内容を読み取り、派生ドキュメントを作成する可能性があるため、変換コマンドを信頼が必要な操作としてマークしています。 プレビュー、テーブルビューアー、サイズ分析、CSV エクスポートの各コマンドもアクティブなドキュメントの内容を処理し、ウェブビューやファイルを作成する可能性があります。信頼できるワークスペースの内容に対してのみ使用してください。
ウェブビューでは、VS Code のテーマ変数、localResourceRoots、制限的な Content-Security-Policy、
Node の crypto で生成された nonce を使用します。
既知の制限事項
この拡張機能は、TOON の厳密なテーブルブロックのサブセットを実装しています。引用符で囲まれた行の値では、カンマと
エスケープされた二重引用符をサポートします。TOON から JSON への変換では、デフォルトで値を文字列のまま保持します。型付きプリミティブの推論を有効にするには、toon.conversion.toJsonValueMode を設定してください。JSON から TOON への変換では、オブジェクトの配列、またはオブジェクトの配列を含むオブジェクトが必要です。また、オブジェクトのキーは有効な TOON ブロック名およびフィールド名である必要があります。
サポート
バグ報告、機能リクエスト、セキュリティ関連の強化要望は GitHub Issues に投稿してください。非公開の脆弱性報告には、GitHub の非公開脆弱性報告機能または非公開のセキュリティアドバイザリを利用してください。
貢献
docs/contributing.md を参照してください。
License
MIT. See LICENSE.
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。