Skip to content

故障排查

全局热键没有反应

  1. 先看设置 → 运行状态——如果后台服务没有运行,重装或重启它通常能解决索引相关的问题,但呼出热键本身是由 App 进程处理的,不是服务,所以这只是一个次要排查项。
  2. 如果当前前台应用是以管理员身份运行的,而 SwiftList 不是,Windows 会阻止低权限进程向它发送输入。SwiftList 的后台热键监听进程会在你的账户是管理员时自动提权——不需要开关,也不会弹 UAC 窗口。如果热键还是打不到已提权的窗口,先去设置 → 运行状态确认后台服务在运行,因为提权的监听进程是由它拉起的。如果你的账户本身不是管理员,这个限制没有办法绕过——Windows 不允许低权限进程向高权限进程发送输入。
  3. 检查进程黑名单——如果前台应用的可执行文件名被(有意或无意地)加入了黑名单,SwiftList 的全局热键在它处于前台时会被刻意放行、不做拦截。
  4. 如果前台应用是真正全屏(铺满了整个显示器),SwiftList 默认会自动放行它的热键——为了不和全屏游戏抢键盘。如果你设置的组合键不会跟全屏应用自己用到的按键冲突,可以在设置 → 热键 → 显示/ 隐藏快速搜索旁边打开全屏应用聚焦时仍然响应,让它在全屏下也照常生效。不想开这个开关的话, 切出全屏(Alt+Tab),或者把应用改成窗口化/无边框窗口模式而不是独占全屏,也能避免这个情况。

搜索结果看起来过时了

NTFS 和 ReFS 磁盘是通过 USN 日志近乎实时更新的;其他本地文件系统(FAT32、exFAT 等)没有日志可用,改为直接监听文件系统变化,同样是持续实时的。如果还是有内容看起来不对(刚创建的文件没出现,或者已删除的文件还在),可以到设置 → 索引 → 本地驱动器(或网络驱动器)对相应磁盘执行重建索引

网络驱动器好像一直不刷新

网络共享没有本地 NTFS 卷那种可以监听的变更日志,所以是按计划定时重新扫描的。到设置 → 索引 → 网络驱动器检查该驱动器的刷新模式——如果是手动,就不会自动更新,改成定时刷新,或者直接点重建索引手动刷新一次。

预览窗口显示不对/被裁切

理论上不应该发生——SwiftList 会自动把 QuickLook 预览窗口的位置和大小钳制在当前显示器的可用区域内。如果还是看到裁切,可以先到设置 → 通用 → 预览窗口 → 重置预览窗口设置排除掉手动设置了异常宽高值的可能,并确认使用的是最新版本。

某个文件/文件夹完全搜不到

  • 检查它是否被排除了——设置 → 索引 → 排除规则支持精确路径、glob 通配符和正则表达式三种方式,任何一种都有可能无意中命中它。
  • 检查它所在的磁盘是否在设置 → 索引 → 本地/网络驱动器里被启用。

在内联窗口里用输入法打中文(或其他需要候选框的语言)不生效

内联窗口故意不会从它嵌入的那个窗口手里抢走真正的键盘焦点——这样你关掉它时才能干净利落地回到刚才的状态,不会有焦点闪烁。但输入法的组合过程(候选词列表,以及最终上屏的字符)只会发生在真正持有焦点的那个窗口上,而这个窗口始终是被嵌入的目标应用,不是 SwiftList——所以没有任何消息是 SwiftList 能拦截到、从而捕获你打的内容的。这是内联窗口工作方式带来的结构性限制,不是 bug。

两个办法:

  • 直接打拼音字母(不需要真的弹出候选框)——SwiftList 会自动按拼音匹配中文文件名,见搜索语法
  • 改用快速窗口(默认双击 Ctrl 呼出)——它是一个真正获得焦点的窗口,输入法在里面能正常工作。

还是没解决?

在提交 GitHub issue 之前,先看看 设置 → 运行状态ServiceAppHook 三个日志 Tab——搜索框可以按关键词过滤,等级下拉框可以按严重程度过滤。