Wox 空格快速预览(Space Quick Look)实战指南:在 Windows 文件资源管理器中按空格键即时预览文件

📅 发布时间:2026/9/20 21:35:11
Wox 空格快速预览(Space Quick Look)实战指南:在 Windows 文件资源管理器中按空格键即时预览文件
桌面应用AI 应用插件系统【免费下载链接】WoxA cross-platform launcher that simply works项目地址https://gitcode.com/gh_mirrors/wo/Wox点击查看免费下载Wox 的 Selection选中内容系统插件提供了一项类似 macOS Quick Look 的「空格快速预览」Space Quick Look能力在 Windows 文件资源管理器或打开/保存对话框中选中单个文件后按下空格键即可让 Wox 打开一个专注的预览面板无需启动完整的关联应用程序。本文以官方博客 did-you-know-selection-space-quick-look.md 为主线结合 selection.go 等源码完整讲解该功能的开启方式、使用步骤、按键防误触机制、底层触发链路与平台限制让你既能上手使用也能理解其实现原理。功能定位为什么需要「空格快速预览」在日常工作中我们经常需要在打开文档、图片、压缩包或配置文件之前先「瞄一眼」内容。传统做法是双击文件启动关联应用看完再关闭既打断工作流也白白消耗系统资源。Wox 的空格快速预览正是为了解决这个痛点不切换应用预览面板由 Wox 渲染文件仍停留在原位置不启动完整关联程序不干扰结果列表预览命令会把 Wox 的结果列表收起来让预览内容独占可用空间看得更清楚入口最快文件已经处于选中状态时按一个空格键即可预览比打开 Wox 再输入查询更快。官方博客用一句话概括了这个流程Windows 用户可以通过 Selection 插件获得 Quick Look 风格的体验——选中一个文件按下空格Wox 打开聚焦的文件预览。开启方法两步开启Windows 专属1. 打开 Selection 插件设置进入 Wox 的设置 - 插件 - Selection找到如下设置项并启用Selection 设置项值启用空格快速预览Enable Space Quick Look启用Enabled在中文语言包中该项的文案为「启用空格快速预览」提示文案为「启用后在 Windows 文件资源管理器或打开/保存对话框中按空格键用 Wox 预览选中的文件」见 zh_CN.json。2. 从受支持的 Windows 文件选择界面使用开启后即可在 Windows 的两类文件选择场景中使用在Windows 文件资源管理器File Explorer中选中一个文件或在任何应用弹出的打开/保存对话框open/save dialog中选中一个文件按下空格键SpaceWox 随即为该文件打开一个仅含预览的面板。该功能非常适合快速查看文档、图片、压缩包或配置文件确认内容后按任意键/关闭面板即可回到原上下文无需进入完整关联应用。与常规 Selection 动作的关系开启空格快速预览并不会破坏 Selection 插件原有的能力。在选中文件后通过选择热键触发 Wox你依然可以使用常规动作复制路径复制选中文件的完整路径打开所在文件夹常规预览结果带创建时间、修改时间、大小等元数据标签的预览保存到 Notes、在该目录执行 Shell 命令等。空格快速预览只是「文件已经选中」这一场景下最快的入口selection preview查询命令同样只返回文件预览结果。换句话说快速预览与完整动作集是互补关系而非替代关系官方文档也明确说明空格快速预览是文件已被选中时最快的入口常规动作依然可用。源码级原理从设置开关到预览面板下面结合源码拆解该功能的完整实现链路文件均位于 wox.core/plugin/system/selection.go。1. 设置项定义复选框 平台禁用设置项在插件元数据中声明类型为复选框CheckBoxSettingDefinitions: definition.PluginSettingDefinitions{ { Type: definition.PluginSettingDefinitionTypeCheckBox, Value: definition.PluginSettingValueCheckBox{ Key: enableSpaceQuickLookSettingKey, // enableSpaceQuickLook Label: i18n:plugin_selection_setting_enable_space_quick_look, Tooltip: i18n:plugin_selection_setting_enable_space_quick_look_tips, DefaultValue: false, }, DisabledInPlatforms: []util.Platform{util.PlatformMacOS, util.PlatformLinux}, IsPlatformSpecific: true, }, },关键点默认值为false即默认不启用需要用户手动打开DisabledInPlatforms明确在macOS 和 Linux 上禁用该设置项这也是为什么它只在 Windows 出现IsPlatformSpecific: true表示这是一个平台相关的设置会按平台分别存储。插件初始化时Init方法会读取该设置并动态挂载/卸载按键监听同时通过OnSettingChanged监听设置变更做到无需重启即可热启停i.updateSpaceQuickLookListener(ctx, i.api.GetSetting(ctx, enableSpaceQuickLookSettingKey) true) i.api.OnSettingChanged(ctx, func(callbackCtx context.Context, key string, value string) { if key enableSpaceQuickLookSettingKey { i.updateSpaceQuickLookListener(callbackCtx, value true) } })2. 按键监控双通道原始按键订阅启用后插件通过 quickjump 包注册两类原始按键RawKey监听分别覆盖两类界面explorerSub, explorerErr : quickjump.AddExplorerRawKeyListener(state.handleRawKey) // 文件资源管理器 dialogSub, dialogErr : quickjump.AddExplorerOpenSaveRawKeyListener(state.handleRawKey) // 打开/保存对话框在 Windows 实现 monitor_windows.go 中这两类监听被分别存入explorerRawKeyListeners与dialogRawKeyListeners两个 map由统一的handleExplorerRawKeyEvent在每次按键时刷新原生 Explorer/对话框前台状态空格键事件会传入allowDesktop1检查前台是否为 Explorer 文件列表或对话框将事件分发给所有已注册的 raw-key 监听器任一监听器返回true即视为消费该按键。监听器的关闭通过返回的ExplorerRawKeySubscription完成插件卸载时OnUnload会关闭全部订阅避免残留监听。3. 空格键状态机防误触的核心设计直接监听空格键会带来误触风险——用户在 Explorer 中打字、按修饰键组合、或上下移动光标时都可能碰到空格。为此插件实现了一个小型的按键状态机selectionSpaceQuickLookState包含spaceDown、spaceConsumed、invalidUntil三个关键状态规则如下仅处理纯空格键按下若按下空格时带有任意修饰键Ctrl/Shift/Alt/Win直接放行不消费避免干扰系统快捷键打字后 1 秒抑制recordInvalidKeyIfNeeded会在用户按下非导航类普通按键后将invalidUntil设为当前时间加 1 秒在此窗口内按下空格不会触发预览防止 Explorer 中打字后误触发导航/功能键豁免方向键、回车、Esc、F5、F11 等导航类按键以及修饰键本身不会重置抑制窗口保证正常的文件浏览不受影响防止按键重复spaceConsumed标记保证一次按下只触发一次预览按住空格不会重复弹出按键抬起复位空格键抬起时清空状态为下一次按下做准备。4. 触发预览独立次要实例空格事件通过校验后triggerSpaceQuickLook会先读取当前系统选中内容并做严格的前置检查selected, err : selection.GetSelected(ctx) if selected.Type ! selection.SelectionTypeFile || len(selected.FilePaths) ! 1 { return } if !util.IsFileExists(selected.FilePaths[0]) { return }即必须是恰好一个文件文本选中、多个文件、或文件已不存在都不会触发随后通过OpenWoxInstance打开一个命名次要实例Secondary RoleOpenWoxInstance(ctx, common.OpenWoxInstanceRequest{ Role: common.WoxInstanceRoleSecondary, InstanceName: quickLookInstanceName, // selection-quicklook Query: common.PlainQuery{ QueryType: plugin.QueryTypeSelection, QuerySelection: selected, QueryScope: ... // 限定为 Selection 插件 preview 命令 }, ShowApp: common.ShowContext{ HideQueryBox: true, HideToolbar: true, ShowPreviewTitleBar: true, WindowWidth: 1000, MaxResultCount: 12, }, })这段代码解释了几个可观察到的行为查询框和工具栏被隐藏HideQueryBox/HideToolbar面板几乎就是纯粹的预览内容预览窗口宽度固定为 1000显示标题栏以便关闭使用独立的命名实例selection-quicklook与选择热键会话相互隔离预览窗口永远不会覆盖主启动器的查询状态关闭该窗口即销毁次要实例下次预览会为新选中文件打开全新窗口。5. 只返回预览结果preview 命令 宽度比预览面板为什么没有动作列表原因有两层查询限定命令触发时查询作用域被限定为 Selection 插件 preview命令selectionCommandPreview。在queryForSelectionFile中当query.Command selectionCommandPreview时直接走queryForFilePreviewOnly只返回一个文件预览结果跳过复制路径、打开文件夹等动作命令级宽度比插件声明了MetadataFeatureResultPreviewWidthRatio特性WidthRatio: 0.0且限定在preview命令作用域内——把结果列表宽度压为 0让预览独占面板。注释特别说明这是刻意为之如果把WidthRatio设为插件全局 0会连普通选择查询的结果列表一起隐藏因此采用命令级作用域。预览结果本身基于WoxPreviewTypeFile渲染走 Wox 统一的文件预览管线主题感知地支持文本、图片、PDF 与 Office 等文件类型详见 预览指南。6. 平台差异为什么只有 Windows官方博客与代码均明确空格快速预览目前仅支持 Windows。原因如下macOSFinder 自带原生 Quick Look且 monitor_darwin.go 中AddExplorerRawKeyListener与AddExplorerOpenSaveRawKeyListener被刻意实现为「不支持」直接返回空订阅Wox 不会为 Selection 预览安装 macOS 空格键监听器Linux同样在设置层面被禁用DisabledInPlatforms包含 Linux文件管理器生态与快捷键约定差异较大暂未提供该能力Windows通过快速跳转QuickJump模块的原生监控能力实现对资源管理器与系统文件对话框的可靠监听。因此该设置在 macOS 上始终保持禁用状态避免与 Finder 原生 Quick Look 重复。使用建议与注意事项一次性选中单个文件空格快速预览只响应「恰好选中一个文件」的场景选中多个文件或文件夹时不触发请改用常规 Selection 动作避免打字后立刻按空格状态机会在普通输入后抑制约 1 秒这是防止误触的有意设计稍作停顿即可修饰键组合不受影响带 Ctrl/Shift/Alt/Win 的空格组合会被放行给系统不会弹出预览预览窗口独立预览打开在独立次要实例中不会打断主启动器的当前查询关闭后下一次按键会为新文件重新打开窗口与其他预览入口互补在 Wox 结果列表中高亮结果后按空格同样可以预览支持预览的结果类型见 预览指南若经常预览固定内容还可结合「预览查询」热键预设隐藏查询框与工具栏让面板主要呈现预览内容。参考资源官方博客www/docs/blog/did-you-know-selection-space-quick-look.mdSelection 插件文档www/docs/guide/plugins/system/selection.md预览功能指南www/docs/guide/usage/preview.md功能演示视频screenshots/selection_quick_look.mp4核心实现wox.core/plugin/system/selection.goWindows 按键监控wox.core/plugin/system/quickjump/monitor_windows.gomacOS 按键监控刻意不支持wox.core/plugin/system/quickjump/monitor_darwin.go设置项文案wox.core/resource/lang/zh_CN.json赞分享桌面应用AI 应用插件系统【免费下载链接】WoxA cross-platform launcher that simply works项目地址https://gitcode.com/gh_mirrors/wo/Wox点击查看免费下载相关推荐GitHub数学公式渲染插件让技术文档告别代码乱码GitHub数学公式渲染插件让技术文档告别代码乱码 还在为GitHub上那些难以理解的LaTeX代码而烦恼吗还在为技术文档中的数学公式显示问题而头疼吗桌面应用AI 应用插件系统Lottie-Windows NuGet包完全攻略版本选择、安装与更新最佳实践Lottie Windows NuGet包完全攻略版本选择、安装与更新最佳实践 Lottie Windows是一款专为Windows 10和Windows 1桌面应用AI 应用插件系统Windows快速预览神器按下空格键文件内容即刻呈现Windows快速预览神器按下空格键文件内容即刻呈现 还在为频繁打开大文件而浪费宝贵时间吗你是否曾经幻想过在Windows上也能像macOS那样只需轻轻桌面应用插件系统上一篇Aptos Move 包系统Move Packages完全指南从 Move.toml 清单到构建产物下一篇Python Tornado 搭建 Perspective 实时数据可视化服务三种架构模式与协作编辑实战创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考