IbEverythingExt:Everything 拼音搜索扩展

东西不错 一直在everything,第一次用上扩展。

请问还有其他扩展吗?

换了0.3版之后,根据debugview,srvcli.dll似乎是没有加载上,不过这次改名成WindowsCodecs.dll倒是可以用了

另外,当搜索的时候输入比较快就没法搜拼音,这是by design的吗?

PS:发现这一点之后我又试了0.2版,发现0.2的表现其实是一样的,也是改名成WindowsCodecs.dll就能用了,只是我之前尝试的时候输入太快了。
PS2:把输入转换成对应的正则这种方法是不是效率比较低,如果能对文件名做预处理,把中文替换成拼音首字母,个人感觉性能会更好一点,不过我也不清楚这样实现的难度。

没有,这个说是扩展,其实是逆向暴力实现的,没有官方支持,所以才这么多 bug。Everything 1.5 Alpha 在开发插件机制,但是目前连基本文档都还没公开,不知道会提供哪些功能。

这个更新怕是没有自动更新吧?那要时刻关注github咯?

为了尽量提高性能,目前会在启动时获取所有文件名中的汉字,缩小正则匹配范围。刚启动时由于 Everything 数据库还没有加载,会等待3秒再查询,应该就是这3秒造成了问题。v0.3 我会改用 IPC 等待数据库加载,缩短等待时间。

正则的确效率比较低,但也是目前唯一不用进行复杂逆向的方案了。不管是修改文件名还是修改 Everything 的匹配算法,都需要进行很耗时间的逆向以及 debug,而且每次 Everything 版本更新还需要重新适配,对我来说成本太高了。
Everything 1.5 会加入插件机制,不过有能实现拼音搜索的接口的可能性也不大。
最好的方案还是 Everything 的官方支持,不管是性能还是稳定性都有保证,我没了解过为什么他们没有实现,这种常见需求应该有人提过吧。

目前没有,你可以 watch 仓库,在有变动时 GitHub 会给你发邮件。或者在小众上关注这个话题,更新我也会同步发在这里。

官方论坛里确实有提过加入拼音搜索的( [Chinese Sorting] Sort by name is messed upSimilarity search),TODO list也有这一条( Things to do (TODO)),虽然这列表巨长无比。

总的来说,可能是官方要做的事情太多,这种需求排不上号吧;另一方面,非中文使用者也没法理解这个功能的重要性(一说到这个,我就又想起关于编辑器断行算法的问题,扯远了)。

不论如何,感谢作者开发的这个插件,毫不夸张的说,算是补上了Everything相比Listary的最后一块短板。

1 Like

注入后的bug回报

在详情之外的任一视图模式(换句话说,调用缩略图的模式)都会因为劫持导致调用函数入口出错

v0.2 并没有导出 WindowsCodecs.dll 的函数,所以我才说“如果加载失败就是可以劫持”,不过没想到因为延迟加载,在详细视图下可以正常使用。我刚才测试了 WindowsCodecs.dll 的适用性,没有什么问题,v0.3 就会换成 WindowsCodecs.dll。

明白了,问题不大.

期待0.3

IbEverythingExt v0.3

新功能

改进

  • 提升了输入字母序列不构成汉字组合时的性能(包括使用大写字母只匹配字母时)。
  • 缩短了启动时等待数据库加载的时间。

修复

  • 修复了部分情况下无法使用的问题。
  • 修复了编辑框内容保存结果错乱。
  • 修复了搜索历史无法使用问题的主要部分。
    如果你之前使用了 v0.2 并开启了搜索历史,请打开 视图->前往->搜索历史管理器(Ctrl+Shift+H),清除被污染的搜索历史(可输入“case:regex:”进行搜索)。
  • 修复了不支持区分大小写开关的问题。
  • 输入“regex:”时禁用拼音搜索。

使用后在指定目录搜索时,会自动区分大小写,未使用前是不区分大小写的使用后
使用前

应该与区分大小写无关,是引号关键字的分词出了问题,我没考虑到 Everything 不会转义 \",前一个关键字以 \" 结尾时,后面的关键字就都会出错。
你可以先暂时手动去掉末尾的 \,v0.4 会修复这个 bug。

2 Likes

是不是因为扩展的原因,我感觉搜索的时候,键入关键字后,要等下才有结果。 应该是在匹配拼音吧。

win 8.1 64
everything 1.4.1969 (安装版)

是的,因为正则搜索的原因,查询耗时比较高。Everything v1.5 Alpha 引入了通配符字符组,应该可以提升很多性能,不过目前还在 Alpha 阶段,没有中文语言,不好推广使用。

收到,扩展不错。

这个好,我有好多漫画都是港台版的繁体名字,每次搜索要简繁各搜一次,以后是不是只用打首拼音就能都搜出来了

IbEverythingExt v0.4

新功能

变化

  • 性能提升:关键字以盘符开头时禁用拼音搜索。

修复

  • 修复了含有双引号的搜索历史的保存错误。
  • 支持命名实例
  • 修复了非双引号内的盘符的处理错误。
  • 修复了含有 \" 的双引号关键字的分词错误。
  • 修复了操作符 !(NOT)与修饰符结合使用时的处理错误。
  • 修复了空关键字的修饰符的处理错误。

刚刚试用了一下,新的快速选择真心实用!但跟一些默认的全局热键冲突了 :joy:

经测试好像不支持命令行模式。便携版64位