【浅谈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粘贴回原来位置:

结果优雅:

相关推荐
蓝丶曦月4 小时前
MacM系列芯片安装 最新版本Notepad--(平替Windows系统的Notepad++)详细教程
编辑器·notepad++·mac
jun_bai5 小时前
VSCode使用
ide·vscode·编辑器
小毛驴8506 小时前
Linux curl 命令用法
linux·运维·chrome
猫头虎6 小时前
OpenClaw-VSCode:在 VS Code 里玩转 OpenClaw,远程管理+SSH 双剑合璧
ide·vscode·开源·ssh·github·aigc·ai编程
John_ToDebug7 小时前
Chromium安全架构深度解析:从悬空指针检测到内存安全防御体系
c++·chrome
CaracalTiger8 小时前
OpenClaw-VSCode:在 VS Code 中通过 WebSocket 远程管理 OpenClaw 网关的完整方案
运维·ide·人工智能·vscode·websocket·开源·编辑器
怣509 小时前
MySQL子查询实战指南:数据操作(增删改查)与通用表达式
数据库·chrome·mysql
John_ToDebug9 小时前
Chromium回调机制的隐秘角落:当const &参数遇见base::BindOnce
c++·chrome·性能优化
_Johnny_10 小时前
ETCD 配额/空间告警模拟脚本
数据库·chrome·etcd
-嘟囔着拯救世界-10 小时前
【2026 最新版】OpenAI 祭出王炸 GPT-5.3-Codex!Win11 + VSCode 部署保姆级教程
vscode·gpt·chatgpt·node.js·node·codex·gpt5