讲师中心 微信公众号
AI工具推荐 视频效率加速

Sublime怎么配置双击高亮JSON相同的变量

轻伟大大_3785

轻伟大大_3785

发布时间:2026-11-07 06:42:22

|

724人浏览过

|

来源于php中文网

原创

Sublime Text 原生不支持双击高亮 JSON 相同键名,因其无语义解析能力;需用 HighlightWords 插件配合 \bkey\b 正则实现可控全字高亮,并通过侧边栏批量管理或多条件筛选提升效率。

sublime怎么配置双击高亮json相同的变量

Sublime Text 本身不支持“双击高亮 JSON 中相同变量”这种行为——它没有针对 JSON 的语义级变量识别能力,所谓“变量”在 JSON 里只是键(key)或字符串值(value),没有作用域、声明或类型信息。你真正能做的,是用正则匹配 + 全字高亮,模拟出接近的效果。

为什么原生 double-click 不行

双击默认触发的是 Sublime 的 highlight_word 命令,它只做「当前光标下完整单词的纯文本全字匹配」,且完全不感知语法结构: • 它会把 "user_id" 键、"user_id": "123" 的值、甚至注释里的 // user_id is deprecated 全部高亮 • 在 JSON 中,id 和 "id" 被视为不同文本,无法跨引号智能关联 • 它对嵌套对象、数组项、转义字符串(如 "name": "John \"Doe\"")完全无感

用 HighlightWords 插件加 \b 正则实现可控高亮

这是目前最贴近需求的实操路径,重点在「避误匹配」和「限作用域」:

  • 先装插件:Ctrl+Shift+P → Package Control: Install Package → 输入 HighlightWords(不是 WordHighlight 或 Highlighter)
  • 关掉原生高亮,避免冲突:Preferences → Settings 用户配置中加 "highlight_word": false
  • 加词必须走命令面板:Ctrl+Shift+P → HighlightWords: Add Word → 输入 \buser_id\b(\b 是单词边界,排除 user_id_v2 或 super_user_id)
  • 若只想高亮键名(不碰值),得手动筛选:先 Ctrl+F 搜 "\buser_id\b":,确认所有命中项都落在 source.json scope 内,再加高亮;否则就接受它也会匹配值中的 user_id 字符串

JSON 文件里怎么让高亮只作用于 key 名

HighlightWords 本身不支持 scope 过滤,但你可以用 Sublime 的语法作用域规则间接控制:

Expanso yaml-to-json
Expanso yaml-to-json

使用 Expanso Edge 管道将 YAML 输入转换为 JSON 格式。

下载
  • 打开一个 JSON 文件,把光标停在某个 key 上(比如 "cache_key" 的 cache_key 部分)
  • 按 Ctrl+Alt+Shift+P(Windows/Linux)或 Cmd+Alt+Shift+P(Mac),状态栏会显示类似 source.json meta.structure.dictionary.json string.quoted.double.json
  • 这个 string.quoted.double.json 就是 key 的专属 scope;而值的字符串通常是 string.quoted.double.json 同样 scope,所以无法靠 scope 完全分离——只能靠正则限定上下文,例如加 "\bcache_key\b": 而非单纯 \bcache_key\b
  • 更稳妥的做法是:高亮后按 Ctrl+Shift+P → HighlightWords: Remove Word,逐个删掉误匹配的值或注释项,比重装插件快得多

侧边栏管理多个 JSON 关键路径更高效

链路分析时,你常要同时盯住 request_id → trace_id → span_id,一个个加太慢。HighlightWords 的侧边栏(Sidebar)能批量操作,但默认关闭:

  • 启用方式:进插件设置(Preferences → Package Settings → HighlightWords → Settings),加一行 "show_sidebar": true
  • 重启后侧边栏底部会出现已高亮词列表,带颜色编号和开关按钮
  • 点击某词可快速切换「全字匹配 / 忽略大小写 / 正则模式」,适合临时对比 ApiUrl 和 api_url
  • 注意:侧边栏不区分文件,全局高亮开启时,它会混着显示所有打开 JSON 文件里的词——如果只分析单个文件,务必提前设 "global_highlight": false

真正难的不是加高亮,而是判断哪些该高亮:JSON 里没有变量声明,"id" 可能是主键、外键、还是普通字段?靠颜色无法替代语义理解。建议把高亮当辅助索引,关键逻辑仍要结合 Ctrl+F 正则验证 + 手动折叠节点确认上下文。

热门AI工具

更多
PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

小橡皮AI

一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

Flowith
Flowith Hot

Flowith是一款基于画布和智能体工作流的 AI 协作工作空间。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

相关专题

更多
js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

4836

2023.06.20

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1435

2023.07.28

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

1878

2023.08.03

js是什么意思
js是什么意思

JS是JavaScript的缩写,它是一种广泛应用于网页开发的脚本语言。JavaScript是一种解释性的、基于对象和事件驱动的编程语言,通常用于为网页增加交互性和动态性。它可以在网页上实现复杂的功能和效果,如表单验证、页面元素操作、动画效果、数据交互等。

10363

2023.08.17

js删除节点的方法
js删除节点的方法

js删除节点的方法有:1、removeChild()方法,用于从父节点中移除指定的子节点,它需要两个参数,第一个参数是要删除的子节点,第二个参数是父节点;2、parentNode.removeChild()方法,可以直接通过父节点调用来删除子节点;3、remove()方法,可以直接删除节点,而无需指定父节点;4、innerHTML属性,用于删除节点的内容。

1040

2023.09.01

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

3024

2023.09.04

Js中concat和push的区别
Js中concat和push的区别

Js中concat和push的区别:1、concat用于将两个或多个数组合并成一个新数组,并返回这个新数组,而push用于向数组的末尾添加一个或多个元素,并返回修改后的数组的新长度;2、concat不会修改原始数组,是创建新的数组,而push会修改原数组,将新元素添加到原数组的末尾等等。本专题为大家提供concat和push相关的文章、下载、课程内容,供大家免费下载体验。

1649

2023.09.14

js截取字符串的方法介绍
js截取字符串的方法介绍

JavaScript字符串截取方法,包括substring、slice、substr、charAt和split方法。这些方法可以根据具体需求,灵活地截取字符串的不同部分。在实际开发中,根据具体情况选择合适的方法进行字符串截取,能够提高代码的效率和可读性 。

5229

2023.09.21

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

20

2026.11.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn