• 【浅谈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,最后逐一修改翻译。

    录制好的宏:

    [{"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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    使用步骤:

    1. 导入至 textbase.db

    2. 复制vscode中需要规整化的英文翻译:
      请添加图片描述

    3. 使用宏:切换至 textrument 窗口,运行导入的宏指令“chrome扩展键值对规整化”:
      请添加图片描述

    4. 运用结果:切换回 vscode,手动ctrl+v粘贴规整化的键值对:
      请添加图片描述

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

    请添加图片描述

    结果优雅:

    请添加图片描述

  • 相关阅读:
    开学季&河科大社区活动详情介绍实例
    【追求卓越03】数据结构--链表练习题
    如何构建并提高自己的核心竞争力?
    PS4 + ESP32 制作无线遥控器
    制作自己的前端组件库并上传到npm上
    ORB-SLAM2 ---- Initializer::ReconstructF函数
    北美干旱监测 (NADM)数据集
    计算机毕业设计(附源码)python余庆金阳驾校管理系统
    Ajax零基础入门 Ajax零基础入门第三天 3.2 数据交换格式
    抽象工厂模式-C++实现
  • 原文地址:https://blog.csdn.net/sinat_27171121/article/details/133636001