vscode 解析json文件时,只折叠某个关键词
坑
在 VS Code 中直接根据 特定关键词 折叠 JSON 文件的某部分,默认功能并不支持按关键词自动折叠,但可以通过以下方案实现类似效果:
方案 1:使用代码折叠快捷键(手动操作)
适用场景:快速折叠/展开光标所在位置的代码块(如对象或数组)。
操作步骤:
- 将光标移动到要折叠的 关键词所在行。
- 按下折叠快捷键:
- Windows/Linux:
Ctrl + Shift + [
- Mac:
Cmd + Option + [
- Windows/Linux:
- 如需展开,使用快捷键
Ctrl + Shift + ]
或Cmd + Option + ]
。
方案 2:安装扩展插件实现智能折叠
推荐使用 **Fold Plus
或 Custom Region Folding
** 等插件,通过自定义规则折叠指定内容。
以 Fold Plus
插件为例:
-
安装插件:
- 打开 VS Code,进入扩展市场(
Ctrl+Shift+X
)。 - 搜索并安装 **
Fold Plus
**。
- 打开 VS Code,进入扩展市场(
-
配置折叠规则:
- 打开
settings.json
(Ctrl+,
→ 右上角打开设置 JSON):json
复制
{ "foldPlus.regexes": { "json": [ { "pattern": "\"your_keyword\":\\s*\\{", // 要折叠的关键词(如 "data": { ... }) "foldStart": "\\{", // 折叠起始符号 "foldEnd": "\\}" // 折叠结束符号 } ] } }
- 将
your_keyword
替换为你的关键词(例如"data"
)。
- 打开
-
使用效果:
- 所有匹配
"your_keyword": { ... }
的 JSON 对象会被自动折叠。
- 所有匹配
方案 3:利用 JSON Schema 标记区域(需注释支持)
适用场景:允许在 JSON 中添加临时注释(需文件格式支持)。
操作步骤:
- 在 JSON 文件中添加特殊标记(非标准 JSON,需允许注释):
json
复制
//#region 关键词 "your_keyword": { "content": "要折叠的部分" } //#endregion
- 使用默认快捷键
Ctrl+K Ctrl+8
(折叠所有区域)或手动折叠标记区域。
方案 4:使用搜索功能快速定位后折叠
- 按下
Ctrl+F
搜索关键词(如"data"
)。 - 定位到目标位置后,手动使用方案 1 的快捷键折叠。
总结
方案 | 优点 | 缺点 |
---|---|---|
手动折叠 | 无需配置,直接操作 | 需逐一手动折叠 |
插件智能折叠 | 自动批量折叠指定关键词 | 需安装插件并配置正则表达式 |
区域标记 | 直观可控 | JSON 不支持注释,需修改文件 |
搜索后折叠 | 快速定位 | 仍需手动操作 |
推荐操作:
- 如果频繁使用,选择 方案 2(Fold Plus插件) 实现自动化。
- 临时需求可使用 方案 1 或 4 快速解决。