【浅谈IDE宏指令录制】为加速chrome扩展国际化,我从vscode回归notepad++

vscode 的宏录制功能 ------ 差强人意

安装vscode开源扩展:https://github.com/C10udburst/macros-vscode.git

可开启类似于 notetepad 的宏录制与回放功能!比如录制字符串替换,能记录操作之时,替换对话框中的文本!(这一点,VSstudio都不行,只能实时替换对话框中存在的字符)

可能需要新版本的 vscode 才能安装。如果不想切换,也可以专门下载个 cursor 编辑器,这是 openai 的vscode 分支,还能免费问gpt问题、

缺点是,只能录制当前标签页,一切换就停止录制。

而且发现 vscode 这方面一言难尽,api不全,录制个最小化字符串的命令,结果它给我重新打印一遍,根本不能使用,无奈,只好用回我的 textrument。textrument 是我改的npp,修改过程学到了不少,抛开作者不谈,这是个很好的c++开源项目,适合新手入门。


notepad++ 的宏录制功能

优点:所有免费编辑器之中的冠军

缺点1:录制后,不方便组合修改。

缺点2:录制后,保存于xml会转义中文字符串,更加不方便修改。

缺点3:录制后,存储于xml,所以如果像vscode那样,打开了多个npp窗口,会导致,其中一个窗口录制的,其他窗口无法读取,而且极易丢失辛辛苦苦编排好的操作。

Textrument 的宏录制功能

优点:继承 notepad++

优点:存储于数据库,安全可靠

优点:存储于sqlite数据库,可以用sqlite官方开源的qt db browser for sqlite 打开编辑。注意,编辑框须ctrl+enter提交到表格,然后ctrl+s保存。

总之全是优点,还有其他小优化。

加速chrome扩展国际化

chrome扩展国际化的工作量非常大,所以前期只准备中英两种翻译。即便如此,也很麻烦。

主要是i8n的键值对,键名只能是英文加下划线,所以需要对键名规整化:

Hello World -> hello_world

在 message.json 就是:

,"hello_world": { "message": "Hello World" }

以及:

,"hello_world": { "message": "你好,世界!" }

最终打包release的时候,还可以进一步缩写"hello_world":,比如缩写成"hw1"。

没找到专门的插件来做这件事,没有android studio那样的多语言编辑器。但是可以用宏录制功能来初步实现加速迭代 ------ 录制 键名规整化、生成键值对的步骤,然后手动粘贴到多个 message.json,最后逐一修改翻译。

录制好的宏:

json 复制代码
[{"type":0,"message":2013,"wParam":0,"lParam":0,"desc":"全选"}
,{"type":0,"message":2179,"wParam":0,"lParam":0,"desc":"粘贴"}
,{"type":3,"message":1700,"wParam":0,"lParam":0}
,{"type":3,"message":1601,"wParam":0,"lParam":0,"sParam":" "}
,{"type":3,"message":1625,"wParam":0,"lParam":0}
,{"type":3,"message":1602,"wParam":0,"lParam":0,"sParam":"_"}
,{"type":3,"message":1702,"wParam":0,"lParam":768}
,{"type":3,"message":1701,"wParam":0,"lParam":1609}
,{"type":0,"message":2013,"wParam":0,"lParam":0}
,{"type":2,"message":0,"wParam":42016,"lParam":0}
,{"type":2,"message":0,"wParam":42017,"lParam":0}
,{"type":0,"message":2453,"wParam":0,"lParam":0}
,{"type":0,"message":2327,"wParam":0,"lParam":0}
,{"type":1,"message":2170,"wParam":0,"lParam":0,"sParam":",\""}
,{"type":0,"message":2451,"wParam":0,"lParam":0,"desc":"END"}
,{"type":1,"message":2170,"wParam":0,"lParam":0,"sParam":"\": { \"message\": \""}
,{"type":0,"message":2179,"wParam":0,"lParam":0,"desc":"粘贴"}
,{"type":1,"message":2170,"wParam":0,"lParam":0,"sParam":"\" }\r\n"}
,{"type":0,"message":2327,"wParam":0,"lParam":0}
,{"type":0,"message":2013,"wParam":0,"lParam":0}
,{"type":0,"message":2178,"wParam":0,"lParam":0,"desc":"复制"}
]

使用步骤:

  1. 导入至 textbase.db

  2. 复制vscode中需要规整化的英文翻译:

  3. 使用宏:切换至 textrument 窗口,运行导入的宏指令"chrome扩展键值对规整化":

  4. 运用结果:切换回 vscode,手动ctrl+v粘贴规整化的键值对:

  5. 接着,在vscode中复制建名称,ctrl+v粘贴回原来位置:

结果优雅:

相关推荐
简离3 天前
前端调试实战:基于 chrome://webrtc-internals/ 高效排查WebRTC问题
前端·chrome·webrtc
Ai老司机4 天前
Chrome浏览器驱动(ChromeDriver)官方下载 - 全平台高速镜像站 | chromedrive.cn
前端·chrome
Hello World . .4 天前
Linux:线程间通信
linux·开发语言·vscode
电商API_180079052474 天前
如何将小红书评论数据封装到API实现自动化分析?测试API实战指南
运维·chrome·自动化
~远在太平洋~4 天前
debian系统已安装python3.12却无法执行python命令
chrome·python·debian
被制作时长两年半的个人练习生4 天前
claude code for vscode 配置 qwen3.5
ide·vscode·claude code·qwen3.5
阿珊和她的猫4 天前
浏览器跨页签数据共享方案
前端·javascript·vue.js·chrome
圣心4 天前
Visual Studio Code 中的 AI 智能操作
ide·人工智能·vscode
吹牛不交税4 天前
关于vscode左侧资源管理器目录层级疑似异常的问题
ide·vscode·编辑器
嵌入小生0074 天前
线程间通信---嵌入式(Linux)
linux·c语言·vscode·嵌入式·互斥锁·线程间通信·信号量