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

结果优雅:

相关推荐
wangduqiang7472 小时前
VSCode 下 PlatformIO 的使用
ide·vscode·编辑器
未来之窗软件服务14 小时前
浏览器开发CEFSharp (十七)网页自定义下载—仙盟创梦IDE
chrome·浏览器开发·cefsharp·仙盟创梦ide·东方仙盟
ZKY_2415 小时前
【VsCode】离线状态下安装插件
vscode
John_ToDebug15 小时前
Chrome性能黑魔法:深入浅出PGO优化与实战指南
c++·chrome
Irene199117 小时前
vscode 中通义灵码显示登录过期
vscode·通义灵码
guangzan19 小时前
VS Code 操作 “Delete unused imports” 时,不删除 React 导入
vscode·typescript·eslint
望获linux1 天前
【实时Linux实战系列】规避缺页中断:mlock/hugetlb 与页面预热
java·linux·服务器·数据库·chrome·算法
嫣语岁月1 天前
【BMS电池管理】基于BQ76920与STM32的BMS设计开发
c语言·vscode·stm32·单片机·嵌入式硬件
996终结者2 天前
同类软件对比(四):Jupyter vs PyCharm vs VS Code:Python开发工具终极选择指南
vscode·python·jupyter·pycharm·visual studio code
Adorable老犀牛2 天前
可遇不可求的自动化运维工具 | 2 | 实施阶段一:基础准备
运维·git·vscode·python·node.js·自动化