小狼毫输入法重新部署并打开日志文件:引起桌面新建、重命名、删除文件不自动刷新的解决方法

2024年5月26日 | 标签:

一、问题描述
1、重新部署小狼毫并打开小狼毫的日志文件路径后,触发桌面新建、重命名、删除文件不自动刷新。
2、出问题后,手动使用坚果云同步一次,问题立马解决
启动坚果云的时候,桌面图标会闪烁一次,感觉和这个有关,是不是刷新了桌面图标缓存。

二、故障分析
1、之前分析是坚果云引起的故障,后来排除坚果云原因,坚果云可以恢复故障,而不是引起故障。
因为坚果云可以恢复故障,导致以为是坚果云触发的故障
2、后来排除坚果云,初步确定是小狼毫重新部署引起的不刷新故障。
3、后来再次经过多次对比分析,发现并非重新部署小狼毫引起的桌面不刷新。
4、而是每次重新部署后都会使用Win+T这个快捷键打开查看日志文件,最终定位到原因:是因为打开了日志文件的路径:C:\Users\ADMINI~1\AppData\Local\Temp\rime.weasel,导致桌面不自动刷新的。
5、在重新部署后,如果不打开小狼毫日志文件的路径,桌面刷新的bug不触发,重新部署并查看日志代码后,桌面不刷新故障重现。
6、不重新部署小狼毫,只打开小狼毫日志文件的路径,也会触发桌面不刷新的bug。
7、至此,终于找到了罪魁祸首,是打开隐藏的日志文件导致的。
8、如下分析过程记录
之前重新部署小狼毫之后,并不会触发桌面不刷新的故障,是因为但是未研究小狼毫日志代码,未打开日志路径。
回忆最新修改声笔拼音代码时,对小狼毫配置做了什么修改,进而引起了这个问题
另外,研究重新部署小狼毫的时候,小狼毫输入法对系统做了什么设置进而导致了这个问题的出现
重新部署后,即便使用英文输入法进行输入,也是不能自动刷新
卸载小狼毫软件之后,桌面新建文件,重命名文件,删除文件,速度都很快,没有任何卡顿

三、问题解决(有效)
1、修改代码或者自定义短语后,重新部署小狼毫,不打开如下日志文件(不打开日志文件,不触发桌面刷新故障)
路径为:C:\Users\ADMINI~1\AppData\Local\Temp\rime.weasel
2、ahk中删除win+T打开日志文件路径的快捷键
3、后续无需再查看日志代码,因为已经配置完美了
现在声笔拼音的代码基本上已经配置完成且日志不再报错,解决了之前引起困扰的小狼毫算法服务自动退出和开机无法自启动的问题;
最近也精简了声笔拼音中无用的lua翻译器代码及其他无用的代码,小狼毫启动时和重新部署时加载的代码基本已经精简到最优;
精简了无用的外挂词库,只挂载声笔拼音base.bin外挂词库,进一步优化了候选词的打开速度,让小狼毫根据自己的输入习惯形成自己的词库,这样词库中提醒的无用词语会变少,但有保留了常用的词语,满足了平时大多数场景的输入需求,没有的词语自己输入让小狼毫输入法自造即可,随着后续使用时间的加长,自己的词库丰富后,输入体验和流畅度会进一步加快。
4、如果查看了日志路径,导致桌面不刷新,临时解决方法是:打开任务管理器,手动重启Windows资源管理器。
5、测试这种方法,可以百分之百解决目前的问题。
6、至于为什么打开C:\Users\ADMINI~1\AppData\Local\Temp这个文件夹会导致桌面不刷新,底层逻辑还是不清楚,不过目前困扰自己的小狼毫重新部署后桌面不刷新的问题已经完美解决。

四、问题解决(无效)
1、临时解决方法
删除build文件夹下sbpy.schema文件中的如下代码,重启小狼毫算法服务,刷新问题临时解决
key_bindings: 1715698466
key_bindings.custom: 0
punctuation: 1715698466
punctuation.custom: 0
重新部署后,上述代码会被重新添加到sbpy.schema文件中,重新部署后问题依旧

2、解决方法尝试(无效)
添加key_bindings.custom、punctuation.custom,两个空文件后
重新部署,问题依旧,感觉和缺失这两个文件的关系不大
应该是小狼毫在重新部署的时候,操作了电脑的什么设置,导致引起不刷新的故障

3、解决方法尝试(无效)
下载第三方weasel-0.15.0-e55ee96-installer版本的小狼毫
测试结果,问题依旧,没有解决
且开机之后未重新部署,问题就出现了
放弃这个版本,设置中添加微软拼音键盘的时候,算法服务还自动重启,放弃放弃
另外,测试使用微软拼音输入法在桌面新建、重命名文件,依然不能自动刷新

4、解决方法尝试(无效)
下载官网最新的weasel-0.16.0-b1aebe8-installer版本测试
右键以管理员权限安装,安装时选择使用旧版IME
测试结果:问题依旧
且在开机之后立马出现桌面不能刷新的问题
此时还没有重新部署小狼毫
使用旧版IME之后,日志文件的保存位置变为Temp\rime.weasel,而不是之前的Temp文件夹
确定:最终使用这个版本,测试候选词的速度和软件的内存占用都是很不错的