我很感激这个项目目前每月收到来自 jlash13、 Indrek Toom的4美元赞助, 来自 Mac Adamarczuk、 Frank Harper、 Hasnain Baxamoosa、 Brian Levis、 PCoetzeeDev的2美元/月赞助, 以及来自其他14人的1美元/月赞助。
Key Promoter X是一个适用于基于IntelliJ的产品(如IDEA、Android Studio或CLion)的插件,它可以帮助你在工作时从鼠标操作中学习重要的键盘快捷键。 当你在IDE中使用鼠标点击按钮时,Key Promoter X会显示你本应使用的键盘快捷键。这提供了一种简单的方法来学习如何用键盘键替代繁琐的鼠标操作,有助于过渡到更快速、无鼠标的开发方式。 目前,它支持工具栏按钮、菜单按钮、工具窗口及其中的操作。
特性和文档
特性
- 使用IDEA内置的消息框架进行非侵入式的快捷键通知
- 通过通知中的活动链接轻松自定义按钮的快捷键
- 轻松为没有快捷键的按钮创建快捷键
- 作为IDEA工具窗口的持久性未使用快捷键列表
- 可抑制某些你不想使用的快捷键提示的列表
安装
插件可以通过设置 | 插件 | 市场并搜索Key Promoter X来安装。当用鼠标点击按钮时,会弹出一个通知,显示可以代替鼠标操作的快捷键。如果一个按钮没有快捷键且被多次点击,会显示一个通知,让你轻松为这个操作创建快捷键。
文档
它是如何工作的?
如果你用鼠标点击某个东西,插件会尝试查找你的鼠标点击是否触发了某个IDEA操作。如果是这样,并且我们能找到所谓的ActionID
,插件就会记录这个事件。如果你的操作已经关联了一个快捷键,插件会显示这个操作的名称(例如"打开设置")以及该操作的快捷键。
此外,它会将你的鼠标点击保存在Key Promoter X统计工具窗口中,这样你就能看到你最常使用哪些操作,以及应该优先学习哪些快捷键。
如果该操作没有关联快捷键但有ActionID
(基本上意味着我们可以为其分配快捷键),插件仍会记录你的点击。根据你在设置 | 工具 | Key Promoter X中的设置,每点击相同操作x次后,你会收到一个通知,询问你是否要为此创建快捷键。
请注意,有些鼠标点击虽然会执行某些操作,但无法成功被检查,插件无法帮助你处理这些情况。例如,这种情况会发生在一些工具窗口的按钮上。
Key Promoter X工具窗口
Key Promoter X带有一个内置的工具窗口,位于右侧,让你可以访问未使用快捷键的点击列表和被抑制项目的列表。
每个与有快捷键的操作相关的鼠标点击都会被记录在统计中。这个列表中的项目按你错过这个快捷键的次数排序。
可能有些鼠标操作你不想用快捷键替代。对于这些操作,你可以在通知中按"不再显示",所有被抑制的快捷键都会出现在统计列表下方的列表中。你可以通过双击被抑制列表中的项目来重新激活它。
Key Promoter X工具窗口还允许你清除统计数据重新开始,你也可以暂停Key Promoter X的通知直到重启IDEA(或者你再次打开它)。
Key Promoter X的设置
插件的设置可以在设置 | 工具 | Key Promoter X中找到。
常规
- 仅显示键盘快捷键可防止显示鼠标快捷键的通知。一个例子是"转到声明"操作,它也有特定的鼠标组合来触发操作。启用此选项将只显示有效的键盘快捷键。
- 在演示或免打扰模式下禁用将在你进行演示或明确不想被打扰时禁用Key Promoter X。
设置
- 显示通知前的点击次数调整Key Promoter X是否应该在每次用鼠标按下有快捷键组合的按钮时显示通知。 例如,设置为2时,每两次点击才会显示一次通知。
- 建议创建快捷键前的调用次数调整一个没有快捷键的按钮需要被点击多少次才会显示建议创建快捷键的消息。
启用
调整允许显示提示的按钮。注意,"所有按钮"复选框将尝试捕捉尽可能多的鼠标点击,即使你没有按真正的按钮。例如,当你按住Ctrl并点击Java方法跳转到其声明时(可以用Ctrl+B替代),这也会显示提示。
开发
该插件使用Java编写,使用IntelliJ的插件框架。 代码库很小,只包含少数几个文档完善的类,这使它成为学习如何实现IntelliJ插件的绝佳候选。
代码托管在GitHub上,并有Travis-CI集成用于自动构建。 编译使用Gradle和IntelliJ Gradle插件完成,应该可以在最新版本(v3.5)上开箱即用。
报告问题
如果你遇到bug或异常行为,请在bug追踪器上创建一个issue。
致谢
初始版本由Dmitry Kashin实现, 他不幸停止了维护,最后一个版本推送于2012年,超过7年前。
用户athiele 花时间分叉了原始代码,修复了问题并提供了 可用于更新版IDEA的版本,但几年前停止了工作。