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

结果优雅:

相关推荐
Eiceblue1 小时前
Python 合并 Excel 单元格
开发语言·vscode·python·pycharm·excel
weixin_421133414 小时前
编写python 后端 vscode 安装插件大全
开发语言·vscode·python
Azanulbizar4 小时前
基于vscode的cpp&cmake调试环境配置
ide·vscode·编辑器
惜.己7 小时前
鸿蒙仓颉环境配置(仓颉SDK下载,仓颉VsCode开发环境配置,仓颉DevEco开发环境配置)
vscode·华为·harmonyos·visual studio code·仓颉
金灰1 天前
Linux文本处理三剑客:awk、sed、grep
linux·运维·服务器·chrome·安全
漏刻有时1 天前
微信小程序高级开发(2):保存远程海报图片到相册(权限检查、下载图片、保存图片、错误处理)
微信小程序·小程序·notepad++
我的老子姓彭1 天前
VScode使用笔记
ide·笔记·vscode
John_ToDebug1 天前
chrome源码剖析—UI架构&&消息机制
c++·chrome·性能优化
守城小轩1 天前
Chromium 132 编译指南 Mac 篇(六)- 编译优化技巧
chrome·chrome devtools·指纹浏览器·浏览器开发
SongYuLong的博客2 天前
VScode+ESP-IDF搭建ESP32开发环境
ide·vscode·编辑器