RealKai42 / qwerty-learner-vscode

为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 VSCode 摸🐟版 / Words learning and English muscle memory training software designed for keyboard workers for VSCode
https://marketplace.visualstudio.com/items?itemName=Kaiyi.qwerty-learner
MIT License
714 stars 64 forks source link

Qwerty Learner VSCode

为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 VSCode 摸🐟版

License

💡 演示

📸 安装

VSCode Plugin Market


本项目为 Qwerty Learner 的 VSCode 插件版本,访问原始项目获得更好的体验。

✨ 实现原理

因为 VSC 没有提供对 Keypress 的回调,所以实现上使用了较为取巧的方式,监听用户当前输入文档的改变,然后删除用户输入。 用户可以在任意代码、文档页面开启软件进行英语打字练习,插件会自动删除用户输入的文字,不会对文档内容造成影响。

目前存在的 Bug,在用户输入速度较快(特别是同时按下多个键)时,可能会导致删除不完全,用户自行删除输入即可。

🎛 使用说明

一键启动

Mac Control + Shift + Q

Win Shift + Alt + Q

可以在任意文档中使用快捷键启动,启动后插件将屏蔽用户对文档的输入,只需关注状态栏上的单词即可。

⚠️ 切记需关闭中文输入法,目前插件在开启中文输入法会有 Bug,待修复

章节、词典选择

打开 VSCode 命令面板,通过 “Qwerty” 前缀过滤,即可发现插件内置的命令。

命令面板快捷键
Mac: cmd + shift + p
Win: ctrl + shift + p

快捷配置

这里列出了用于启用/禁用章节循环模式的快捷键配置。章节循环模式默认情况下是禁用的。

进阶配置

可以在设置面板查找关键字 “Qwerty” 修改设置

"qwerty-learner.highlightWrongColor": {
  "type": "string",
  "default": "#EE3D11",
  "description": "输入错误时单词的颜色"
},
"qwerty-learner.highlightWrongDelay": {
  "type": "number",
  "default": 400,
  "description": "输入错误时清空输入的延迟时间"
},
"qwerty-learner.keySound": {
  "type": "boolean",
  "default": true,
  "description": "是否开启键盘音"
},
"qwerty-learner.phonetic": {
  "type": "string",
  "enum": [
    "us",
    "uk",
    "close"
  ],
  "default": "close",
  "description": "是否开启音标"
},
"qwerty-learner.chapterLength": {
  "type": "integer",
  "default": 20,
  "minimum": 1,
  "maximum": 100,
  "description": "每个章节包含的单词数量"
},
"qwerty-learner.wordExerciseTime": {
  "type": "integer",
  "default": 1,
  "minimum": 1,
  "maximum": 100,
  "description": "每个单词的练习次数"
},
"qwerty-learner.readOnlyInterval": {
  "type": "number",
  "default": 5000,
  "description": "只读模式中单词切换间隔时间(ms)"
},
"qwerty-learner.voiceType": {
  "type": "string",
  "enum": [
    "us",
    "uk",
    "close"
  ],
  "default": "us",
  "description": "是否开启发音"
},
"qwerty-learner.placeholder": {
  "type": "string",
  "enum": [
    "_",
    "*",
    "-",
    ""
  ],
  "default": "-",
  "description": "未输入时的占位符,空表示无占位符(仅当wordVisibility === true时生效)"
},
"qwerty-learner.random": {
  "type": "boolean",
  "default": false,
  "description": "是否章节内单词顺序随机"
},
"qwerty-learner.chapterCycle": {
  "type": "boolean",
  "default": false,
  "description": "是否章节循环"
}

📕 词库列表

🌟 Stargazers over time

Stargazers over time