Skip to content
| Marketplace
Sign in
Visual Studio Code>Formatters>紧凑JSONNew to Visual Studio Code? Get it now.
紧凑JSON

紧凑JSON

fanchizhou77

|
3 installs
| (1) | Free
以树视图展示 JSON/JSONC,并支持对当前选中数组进行折叠排版或展开排版
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

紧凑JSON

一个面向 JSON 和 JSONC 文件的 VS Code 扩展,支持对当前选中的数组做“折叠排版”或“展开排版”,并提供辅助树视图。

适用场景:

  • 需要把很长的对象数组压成每个元素一行
  • 需要把已经压紧的数组重新展开成多行格式
  • 需要用鼠标选中某个数组后,直接完成排版切换
  • 配置文件里字段很多,希望快速定位到对应 JSON 节点

功能

  • 支持用鼠标把光标点到某个数组内,或直接框选该数组
  • 执行“折叠当前数组”后,如果是对象数组,会改成每个对象一行;如果是普通元素数组,会直接压成单行数组
  • 执行“展开当前数组”后,会把数组改成标准多行缩进样式
  • 保留资源管理器侧边栏 紧凑JSON 视图,用于辅助查看 JSON 结构
  • 点击树节点可跳转到原始 JSON 中对应的位置
  • 提供命令 紧凑JSON: 刷新视图
  • 提供命令 紧凑JSON: 折叠当前数组
  • 提供命令 紧凑JSON: 展开当前数组

支持格式

例如下面这种结构:

{
  "devlist": {
    "body": [
      {
         "devNo": "1",
         "port": "0"
      },
      {
         "devNo": "2",
         "port": "0"
      }
    ]
  }
}

选中 body 数组后执行“折叠当前数组”,会被整理成近似这样的样式:

{
  "devlist": {
    "body": [
      {"devNo": "1","port": "0"},
      {"devNo": "2","port": "0"}
    ]
  }
}

再执行“展开当前数组”,则会恢复为标准多行缩进格式。

使用方法

  1. 在 VS Code 中打开扩展目录。
  2. 执行 npm install。
  3. 执行 npm run compile。
  4. 按 F5 启动扩展开发宿主。
  5. 在新的 VS Code 窗口中打开任意 JSON 或 JSONC 文件。
  6. 用鼠标点中某个数组内部,或者直接框选该数组文本。
  7. 在编辑器中右键执行 紧凑JSON: 折叠当前数组,或者从命令面板执行同名命令。
  8. 如需恢复为标准多行格式,执行 紧凑JSON: 展开当前数组。
  9. 如需查看结构,可在资源管理器中打开 紧凑JSON 视图,并使用 紧凑JSON: 刷新视图。

公开发布到 VS Code Marketplace

当前工程已经包含 vsce,可直接用于打包和发布。

发布前准备

  1. 在 Visual Studio Marketplace 创建发布者,发布者标识必须与 package.json 中的 publisher 一致。
  2. 在 Azure DevOps 创建一个 Personal Access Token,授予 Marketplace 发布相关权限。
  3. 如需公开展示源码,请在发布前把 package.json 中的 repository、homepage、bugs 等字段改成外网可访问地址;如果暂时没有公开仓库,可以先不填写。

本地校验

npm install
npm run compile
npm run package

执行完成后,会在项目根目录生成 .vsix 文件。

发布命令

npx vsce login fanchizhou77xu
npm run publish:vsce

首次执行 vsce login 时,按提示粘贴上一步创建的 PAT 即可。

仅安装到远程或云主机上的 VS Code

如果你的目标不是公开上架,而只是安装到远程开发环境、VS Code Server、Remote SSH 或 Codespaces,可以直接使用生成好的 .vsix 文件,在扩展面板中选择“Install from VSIX”安装。

目录

  • src/extension.ts:扩展主逻辑
  • package.json:命令与扩展清单
  • tsconfig.json:TypeScript 编译配置

当前实现说明

当前版本基于 JSON 语法树定位选中的数组,并执行原地文本排版:

  • 任意 JSON 数组都可以作为折叠或展开目标
  • 根据当前光标或选区命中最内层数组
  • 折叠会把数组改成每个元素一行的紧凑格式
  • 如果数组元素不是对象,而是字符串、数字、布尔值或 null,则折叠结果会直接压成单行数组
  • 展开会把数组改成标准 JSON 多行缩进格式
  • 保留一个辅助树视图,用于查看当前 JSON 结构和跳转节点
  • 支持 JSONC 注释和尾逗号
  • 更适合处理设备清单、参数表、测点表这类“数组里都是同结构对象”的配置文件
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft