Notepad++中实现UUID悬停显示关联对象名称的方法咨询
Notepad++中实现UUID悬停显示关联对象名称的方法咨询
嘿,这个需求挺实用的!在Notepad++里实现UUID悬停时自动显示关联的对象名称,不用手动查对照表,我有几个可行的方案,你可以根据自己的情况选:
方案一:用PythonScript插件自定义悬停提示(最灵活)
这是我个人最推荐的方式,适合UUID数量多、需要随时更新映射的场景:
- 先通过Notepad++的「插件管理器」安装PythonScript插件
- 打开「Plugins」->「PythonScript」->「New Script」,写一个自定义脚本:
import re from Npp import * # 这里放你的UUID与对象名称的映射,也可以改成读取外部txt文件的方式(更方便维护) uuid_name_map = { "df953d9c-234f-4ac2-af5e-f0490b223e71": "wood", # 继续添加更多UUID和对应名称... } # 定义UUID的正则匹配规则 uuid_pattern = re.compile(r'[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', re.IGNORECASE) def on_hover(args): # 获取鼠标位置对应的文本范围 editor_pos = editor.pointFromPosition(args['position']) line = editor.lineFromPosition(args['position']) line_text = editor.getLine(line) # 匹配当前位置附近的UUID matches = uuid_pattern.finditer(line_text) for match in matches: if match.start() <= editor_pos[0] <= match.end(): uuid = match.group() # 如果UUID在映射表里,显示提示 if uuid in uuid_name_map: editor.callTipShow(args['position'], uuid_name_map[uuid]) break # 注册悬停事件监听 editor.callback(on_hover, [SCINTILLANOTIFICATION.UPDATEUI]) - 保存脚本后,在PythonScript的菜单里把它设为「Startup」,这样每次打开Notepad++都会自动加载。之后只要悬停在UUID上,就能看到对应的名称啦!
方案二:用自定义语言+悬停提示(适合少量UUID)
如果你的UUID数量不多,用Notepad++自带的自定义语言功能也能搞定:
- 打开「语言」->「定义你的语言」
- 在「关键字」标签页里,把每个UUID分别添加进去,然后在「悬停提示」列对应填上关联的名称(比如UUID填在关键字列,wood填在提示列)
- 保存这个自定义语言,之后切换到该语言模式,悬停在UUID上就会显示对应的提示。
方案三:用AutoHotkey辅助实现(无需插件)
如果你不想给Notepad++装插件,也可以用AutoHotkey写个小脚本辅助:
#IfWinActive ahk_exe notepad++.exe ~LButton:: Sleep 200 Send ^c ClipWait uuid := Clipboard ; 定义UUID映射 uuidMap := { "df953d9c-234f-4ac2-af5e-f0490b223e71": "wood" ; 继续添加更多映射... } if (uuidMap.HasKey(uuid)) { ToolTip % uuidMap[uuid] SetTimer, ToolTip, -1500 ; 提示1.5秒后消失 } return #IfWinActive
运行这个脚本后,在Notepad++里选中UUID并停留一下,就会弹出对应的名称提示啦。
备注:内容来源于stack exchange,提问作者EmperorOfWater
相关产品推荐
相关产品推荐

