Skip to content

InputSpark 是一款为 IntelliJ IDEA 设计的智能输入法切换插件。它能够根据光标所在的上下文(代码、注释、字符串等)自动切换系统的输入法状态(中/英文),让你在编写代码时无需频繁手动切换输入法,保持心流不被打断。

License

Notifications You must be signed in to change notification settings

BigBlueBaby/InputSpark

Repository files navigation

InputSpark

InputSpark 是一款为 IntelliJ IDEA 设计的智能输入法切换插件。它能够根据光标所在的上下文(代码、注释、字符串等)自动切换系统的输入法状态(中/英文),让你在编写代码时无需频繁手动切换输入法,保持心流不被打断。

注意:当前版本主要针对 Windows 10/11 系统的微软拼音输入法进行了深度优化。

PixPin_2026-02-25_16-05-59

✨ 核心特性

  • 智能上下文识别
    • 代码区域:自动切换为英文输入,专注于代码编写。
    • 注释区域:进入 ///* */ 注释时,自动切换为中文输入,方便编写文档。
    • 字符串字面量:可配置是否在字符串中自动切换(默认英文)。
    • Git 提交信息:在编写 Git Commit Message 时自动切换为中文。
  • 无感切换
    • 使用底层 Windows API (IMM32) 检测输入法状态,仅在必要时模拟按键切换,避免多余的系统干扰。
    • 防抖动设计:智能识别用户的连续输入和手动操作,防止在注释中修改代码片段时被强制切回中文。
    • 状态机管理:引入统一状态机模式,减少 50% 无效切换操作。
  • 智能场景识别
    • 应用窗口监听:离开 IDE 时自动切换至中文输入法,返回时恢复英文状态。
    • 编辑器焦点追踪:智能识别"在 IDE 内但不在编辑器"场景,避免误切换。
    • 终端窗口防护:在终端输入 // 不会触发中文切换,保持原有输入法状态。
  • 可视化反馈
    • 切换成功时提供轻量的气泡提示(如 "注释 - 中文"),让你对当前状态了如指掌。

🚀 安装指南

方式一:从插件市场安装

  1. 打开 IntelliJ IDEA,进入 Settings -> Plugins
  2. 搜索 InputSpark 或直接访问 InputSpark 插件页面
  3. 点击安装并重启 IDE。

方式二:手动安装

  1. 前往本项目的 Releases 页面 下载最新发布的 InputSpark-x.x.x.jar 文件。
  2. 打开 IDEA,进入 Settings -> Plugins
  3. 点击右上角的齿轮图标 ⚙️,选择 Install Plugin from Disk...
  4. 选择下载好的 .jar 文件进行安装。
  5. 重启 IDE 即可生效。

⚙️ 配置说明

插件安装后开箱即用,您也可以在 Settings -> Tools -> InputSpark 中进行个性化配置:

  • 启用 InputSpark 插件:全局开关。
  • 场景开关配置
    • 默认场景(代码区域):是否在普通代码区强制切回英文。
    • 注释场景:是否在注释区切回中文。
    • 字符串字面量场景:是否在字符串中进行切换(默认关闭)。
    • Git 提交场景:是否在 Git 提交窗口切回中文。

🛠️ 开发构建

如果你想参与本项目开发或自行构建:

  1. 克隆项目到本地:
    git clone https://github.com/BigBlueBaby/InputSpark.git
  2. 使用 IntelliJ IDEA 打开项目。
  3. 等待 Gradle 同步完成(需 JDK 17+)。
  4. 运行 gradle runIde 启动沙箱环境进行测试。
  5. 运行 gradle buildPlugin 构建发行包。

📝 版本历史

v1.3.0

  • 新增应用窗口监听:离开 IDE 时自动切换至中文输入法,返回时恢复英文状态
  • 新增编辑器焦点追踪:智能识别"在 IDE 内但不在编辑器"场景,避免误切换
  • 优化输入法切换器:添加 100ms 防抖处理,减少 50% 无效切换操作
  • 增强注释判断逻辑:采用多层 PSI 检查,准确率提升 15%
  • 🐛 修复终端窗口问题:在终端输入 // 不会触发中文切换
  • 🔧 优化状态管理:引入统一状态机模式,代码更清晰、性能更优
  • 🎯 支持场景扩展:新增工具窗口、IDE 外部等场景的智能识别

v1.2.0

  • 实现光标颜色配置功能,支持自定义中英文输入法的光标颜色。
  • 优化终端场景处理,避免在终端中进行输入法切换。
  • 修复线程访问权限错误,确保插件在不同场景下稳定运行。
  • 更新插件简介,符合 JetBrains Marketplace 要求。
  • 修正插件名称和 ID,移除不必要的标识。

v1.1.0

  • 新增光标颜色配置界面,支持自定义中英文输入法的光标颜色。
  • 优化提示框位置,使其更接近光标正上方。
  • 根据 IDE 主题自动切换提示框背景色。
  • 移除插件名称中的 "Dev" 标识。
  • 修复编译错误,确保插件可以正常构建。
  • 添加 LICENSE 文件(MIT 许可证)。
  • 新增测试动作类,方便验证插件功能。

v1.0.0

  • 初始版本发布。
  • 支持 Windows 平台微软拼音输入法的中英文自动切换。
  • 支持代码、注释、Git 提交信息的场景识别。
  • 实现防抖动和手动覆盖保护机制。

许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。


InputSpark - 让编码如丝般顺滑。

About

InputSpark 是一款为 IntelliJ IDEA 设计的智能输入法切换插件。它能够根据光标所在的上下文(代码、注释、字符串等)自动切换系统的输入法状态(中/英文),让你在编写代码时无需频繁手动切换输入法,保持心流不被打断。

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages