lin-ycv / EverythingPowerToys

Everything search plugin for PowerToys Run
Eclipse Public License 2.0
2.21k stars 58 forks source link

修复查询结果过多导致powertoys run死掉的BUG #66

Closed konglongbt closed 9 months ago

konglongbt commented 9 months ago

修改前循环次数为搜索的结果数,而不是设置的最大返回结果,当搜索结果过多时,循环耗时具大,导致整个powertoys run 死掉,返回不了任何结果,必须重启

lin-ycv commented 9 months ago

UpdateSettings()下,最多收尋結果就先從API設定限制了: https://github.com/lin-ycv/EverythingPowerToys/blob/2371d203a551b69ddde74b3fdad8f3882d90af48/Everything.cs#L23 所以回傳的結果數量本來就不可能比'Setting.Max`還多,只會比較少或一樣 請問你的結果過多是多少? 我max設到500都不會當

https://github.com/lin-ycv/EverythingPowerToys/assets/60565737/bddae910-aa4d-4149-9fd3-be12b6a4f70f

. 我認為你碰到的問題是你搜尋的檔案是雲端檔案 所以當有需要顯示預覽圖示時需要等待檔案的下載導致卡當 請嘗試將圖示預覽的功能關掉再試試看 image

konglongbt commented 9 months ago

我搜索的都是本地文件,我录了个gif,设置的最大结果是20,我开始搜索 ‘test' 有结果,搜索 'pic' 也有结果,但我用 'pic:' 筛选图片就没结果了,重新再搜索也不出结果 screenshots

我换上修改代码后的 screenshots

konglongbt commented 9 months ago

这是从everyting里返回的结果数 https://github.com/lin-ycv/EverythingPowerToys/blob/2371d203a551b69ddde74b3fdad8f3882d90af48/Everything.cs#L57 循环的最大次数是上面这个结果数 resultCount https://github.com/lin-ycv/EverythingPowerToys/blob/2371d203a551b69ddde74b3fdad8f3882d90af48/Everything.cs#L59 如果resultCount 太大循环就很久,会导致powertoys run挂掉

lin-ycv commented 9 months ago

懂了,的確如果使用filter但結束收尋就會造成之後無法搜尋 你現在這個解決方案不太理想,因為問題其實是用filter時我設定了回傳所有結果 https://github.com/lin-ycv/EverythingPowerToys/blob/2371d203a551b69ddde74b3fdad8f3882d90af48/Everything.cs#L41 我不記得為什麼當初決定這樣做,我現做一些測試看看