home icon indicating copy to clipboard operation
home copied to clipboard

小狼毫中文输入模式下Excel数据验证下拉建议框无法实时匹配的兼容性问题讨论

Open charles-jason opened this issue 4 months ago • 6 comments

问题描述 在使用小狼毫(Rime输入法Windows版)中文输入模式时,Microsoft Excel的数据验证功能(序列下拉框建议)出现异常。具体表现:

假设序列内容为“书籍、书册、图书馆、asdfgha”,在英文模式下输入“asd”等字符会实时缩小匹配范围(正常)。 但在中文模式下,输入首个字“书”(或拼音上屏后),下拉框不会实时匹配(不会显示“书籍、书册”供选择),只有删除字符才会触发匹配。 该问题与Excel设置无关(已确认“启用单元格值的自动完成”开启,数据验证“单元格内下拉列表”选中)。 使用Microsoft拼音输入法时,一切正常。

初步分析(基于ChatGPT和网络搜索):可能是Rime的“预编辑”(preedit)机制延迟上屏汉字,导致Excel无法实时检测文本变化并触发过滤,而删除操作强制刷新了事件。

系统信息

操作系统:Windows 10 专业版 22H2(内部版本19045.6216,或更新到最新) Excel版本:Microsoft Excel for Microsoft 365 MSO(版本2508 Build 16.0.19127.20082,64位,或当前最新) 小狼毫版本:0.17.4(2025-06-04发布,使用自带的地球拼音、双拼及雾凇方案中的自然码双拼) 当前日期:2025-08-25(确认无新版本修复此问题)

复现步骤

在Excel中创建一个数据验证序列(如A1:A3输入“书籍、书册、图书馆”)。 在B1设置数据验证-序列,来源=A1:A3。 双击B1进入编辑模式。 使用Rime中文模式输入“书”(拼音“shu”上屏)。预期:出现下拉框,且应匹配“书籍、书册”。实际:无匹配,只有删除“书”后才会显示下拉框。 切换到英文模式或Microsoft IME:正常匹配。

已尝试的修复步骤(均无效)

配置调整:在weasel.custom.yaml中添加:

textpatch:
  app_options/excel.exe:
    inline_preedit: true  # 或 false,交替测试
    preedit_type: preview  # 或 composition

以及全局:

textpatch:
  style/inline_preedit: true

重新部署后测试,无效。 切换模式:安装时选择“遗留模式”(兼容模式,取消TSF),或在weasel.yaml添加tsf: false。重新安装并测试,无效。 其他操作:双击单元格+F2进入编辑模式;切换不同输入方案(如朙月拼音);检查Excel高级选项。 临时方案:只有切换到Microsoft拼音才能正常。 检查更新:已使用最新版0.17.4,release notes无相关修复(虽有一般应用崩溃修复,但不针对Excel)。

请求帮助 这是否是Rime与Excel的已知兼容bug?有无永久修复方案(如修改事件处理)? 如果是weasel特定问题,社区有类似经历吗?建议如何调试?目前搜索暂无。

情况图片:

Image
  • 英文模式输入英文
Image
  • 中文模式输入中文
Image Image
  • 中文模式输入英文
Image
  • 微软输入法中文模式输入中文(正常情况)

charles-jason avatar Aug 21 '25 07:08 charles-jason

这个问题应该是和你的Excel版本相关吧,我在用的版本不管什么输入法都不会像你最后那张图那样弹出菜单,只会有一个选中的提示一个最接近的选项,微软拼音也是这样的。

fxliang avatar Aug 21 '25 09:08 fxliang

这个问题应该是和你的Excel版本相关吧,我在用的版本不管什么输入法都不会像你最后那张图那样弹出菜单,只会有一个选中的提示一个最接近的选项,微软拼音也是这样的。

目前使用的是最新版的365,Microsoft 365MSO (版本 2508 Build 16.0.19127.20082) 64 位,365会有新增下拉建议框功能,大哥你用的是什么版本的?

charles-jason avatar Aug 21 '25 10:08 charles-jason

我猜输入法上屏之后才会提示吧?

lotem avatar Aug 21 '25 10:08 lotem

我猜输入法上屏之后才会提示吧?

正常微软输入法是打完字(单元格内有字)就会提示,Rime输入完中文后是单元格内有字的,如果输入两个字符,例如“练习册”中的“练习”二字,再去删除“习”字,也会出现下拉建议框,但是只要用rime输入新的中文,下拉建议框又会消失。

charles-jason avatar Aug 21 '25 10:08 charles-jason

尝试更换成legacy mode或单独在excel.exe程序中启用inline_preedit,仍然无法达成原效果,excel单元格编辑模式下也不行。

charles-jason avatar Aug 25 '25 10:08 charles-jason

这个问题应该是和你的Excel版本相关吧,我在用的版本不管什么输入法都不会像你最后那张图那样弹出菜单,只会有一个选中的提示一个最接近的选项,微软拼音也是这样的。

目前使用的是最新版的365,Microsoft 365MSO (版本 2508 Build 16.0.19127.20082) 64 位,365会有新增下拉建议框功能,大哥你用的是什么版本的?

2019 专业增强版,输入过程未发现有什么异常的

fxliang avatar Aug 26 '25 02:08 fxliang