开发者 · 工作流

开发者怎么用 QuickLook:预览代码、日志与 JSON

开发中有大量「只想看一眼」的时刻:这个配置文件里写的是什么、这条日志最后几行报了什么错、这个接口返回的 JSON 结构对不对。这些场景不需要 IDE,也不该为它启动一个重量级编辑器。这篇讲怎么把空格键变成随身只读查看器。

更新于 2026-09-25 适用版本 QuickLook 4.5 约 8 分钟读完

先说清定位:QuickLook 是只读查看器,不是编辑器。它解决的是一类被严重低估的低效动作——在已经知道要干什么的情况下,为了「确认一个文件里写了什么」而启动一个完整的开发工具。

这类动作在一天里出现的次数远超想象:查一条配置、确认一个返回结构、看一眼构建产物、核对两个版本的差异。每次省下十几秒,一天累积起来就是很可观的一块时间。

一、为什么值得为「看一眼」单独配工具

用 IDE 打开一个文件有三个隐性成本:启动或切换窗口的等待、把当前工作上下文挤掉、以及可能触发索引或格式化。当你只是想知道「这个 JSON 里 config 字段叫什么」,这三项全是净支出。

QuickLook 的优势在于它把这件事的成本压到了一个空格键:选中文件、按 Space、看完按 Esc 关掉。你的编辑器窗口不会被动,光标位置也不会丢。配合方向键,它还能让你在一个文件夹里连续翻十几个文件而不开任何一个。

二、内置高亮覆盖了哪些语言

这是 QuickLook 对开发者最实在的一点:代码预览带语法高亮,而且覆盖面相当宽。官方支持清单里的文本与代码类目,按用途分下来是这样的。

数据与配置类

日常打交道最多的其实是这一类:.json、.jsonl、.xml、.yaml 与 .yml、.ini、.conf、.config、.properties、.env、.csv、.tsv、.psv。此外还有几个开发场景常见的纯文本类配置:.gitignore、.gitattributes、.hosts、.registry,以及构建用的 .makefile、.mk、.cmake。

这意味着你可以在不打开编辑器的情况下确认「这个 .env 里配了哪些变量」「.gitignore 有没有漏掉某个目录」。这类检查非常高频。

脚本类

.bat、.cmd、.ps1、.psd1、.psm1、.sh、.lua、.vbscript、.autohotkey、.tcl、.nsis、.kixtart。

主流语言源码

常见语言的源文件基本都在清单里。挑常用的列:.c .cpp .h .hpp(C/C++)、.cs(C#)、.java、.py(Python)、.js、.ts .tsx .uts(TypeScript)、.go、.php、.rb .ruby、.swift、.scala、.kotlin、.lua、.sql、.css、.html .htm .vue、.dart、.rs(Rust 以 .rust 列入)、.r、.rst。

还有一批在特定领域会遇到的:.clojure、.elixir、.erlang、.fsharp、.haskell、.lisp、.scheme、.ocaml、.nim、.pascal、.prolog、.protobuf、.solidity、.verilog、.vhdl、.ada、.assembly、.coffeescript、.qml、.thrift。官方清单末尾还补了一句:Most other plain text and script formats。

关于清单的边界

官方支持清单页首自己写着「尚未补充完整」,所以这份列表会变。写这篇时的核对基准是 2026-09 的清单原文;如果你手里的格式没被列出,未必代表不支持,而是清单没写。同时也要注意相反的情况——清单里没列的格式,我们不会替它做支持性承诺。

三、盯日志:把两个开关打开

本地起服务、跑构建、复现 bug 的时候,「日志文件在磁盘上不断被追加」是典型场景。默认情况下预览窗口显示的是你打开那一刻的内容,日志更新了它不会跟着变。这需要改配置。

先弄清两个不同的键

配置项 默认值 作用
AutoReload False 改为 True 后,文件在磁盘上发生变化时预览会自动重新载入
ShowReload False 改为 True 后,预览窗口里会多出一个手动重新载入按钮

这两个键的作用是分开的,容易混。前者是「自动」,后者是「给你一个按钮」。如果日志文件很大、刷新频繁,全自动反而会让画面一直在跳,这时候更稳的组合是只开 ShowReload,需要时手动点一下。

推荐组合

  1. 打开主配置文件 QuickLook.config,把 AutoReload 设为 True,ShowReload 也设为 True。这样既能自动跟随,也能手动强制刷新。

  2. 如果日志增长很快导致画面持续跳动,把 AutoReload 改回 False,只留手动按钮。

  3. 想让预览窗口不被其它窗口盖住,把 Topmost 设为 True;配合 Page Down 和 End 翻到末尾看最新报错。

调试时的实际用法

把日志目录固定在资源管理器的一个窗口里,用 End 跳到文件末尾看最新几行报错,改完代码保存、日志更新、预览自动刷新,整个循环不用切走当前窗口。比起在终端里反复敲 tail,这个循环更短。

四、结构化数据:JSON、JSONL、YAML、XML

接口返回的 JSON 里字段层级一深,用肉眼在终端里数括号很容易数错。预览窗口里看带高亮的结构化文本,能明显降低判读成本。

这里有一个值得记住的格式:.jsonl(JSON Lines,每行一个独立 JSON 对象)。它在日志与数据管道里很常见,但很多查看工具不认。QuickLook 的支持清单里明确列出了 .jsonl,选中按空格即可看。

同理,.yaml 与 .yml 在配置管理里出现频率极高,也都在支持范围内。如果你经常要在「一串 K8s 清单」或「一堆 CI 配置」之间来回确认,用方向键连续翻比逐个打开快得多。

五、代码评审:直接看 diff 与补丁

支持清单里的 .diff、.patch、.rej 这三项,在实际工作里比看起来有用。

  • 收到补丁文件:同事发来一个 .patch,你不必先 git apply 再看结果——先空格预览,确认改动范围合理,再决定要不要应用。
  • 审查变更集:把导出的 diff 文件放在一个目录里,按方向键连续翻,快速过一遍所有改动。
  • 处理应用失败的残留:补丁冲突时会生成 .rej 文件,里面正是没应用上的那部分,预览它比在命令行里翻更直观。

六、把阅读体验调到顺手

文本预览的行为由 QuickLook.Plugin.TextViewer.config 控制,四个键的用途如下:

配置项 说明
UseFormatDetector自动检测文本格式与语言,决定用哪种高亮方案
AllowDarkTheme允许在深色主题下呈现文本预览
FontFamily字体设置。代码阅读建议指定等宽字体
FontSize默认值 14.0,按屏幕密度自行调整

其中最值得动手的是 FontFamily:默认字体读代码时字距未必舒服,换成你编辑器里用的那套等宽字体,观感会立刻统一。FontSize 默认 14 在高分屏上可能偏小,调到 15 到 16 更合适。

配置文件的位置跟发行版有关:MSI 安装版在 %APPDATA%\pooi.moe\QuickLook\,便携版在程序目录下的 UserData\ 文件夹里。文件不存在的话,先运行一次 QuickLook 再手动新建。完整说明见 使用教程的配置章节。

七、Markdown 与文档型工作流

项目里的 README.md、变更说明、设计文档,都在支持范围内,而且 Markdown 预览支持实时渲染与目录跳转。这个目录键默认是 Ctrl+Shift+L,并且它是 QuickLook 里少数几个可以自定义的按键——如果你只想要一个「改键」的例子,这是唯一官方的那个。

支持清单里 Markdown 家族的成员比想象中多:除了 .md 与 .markdown,还有 .mdx、.mmd、.mermaid(画图源码)、.mkd、.mdwn、.mdown、.mdc、.qmd、.rmd、.rmarkdown、.apib、.mdtxt、.mdtext。写文档的人遇到 .qmd(Quarto)或 .rmd(R Markdown)时也能直接看。

另外 .ipynb(Jupyter Notebook)也在支持清单里,能直接看到 notebook 的 markdown 单元格与输出结果——不开 Jupyter 就能确认某个 notebook 上次跑出来什么。

八、这些场景别指望它

把边界讲清比堆优点有用:

  • 需要编辑时。它是只读查看器。确认完内容,按 Enter 让它用默认程序打开,才是进入编辑的正确路径。
  • 超大单文件。体积极大的文本文件对任何查看器都是负担,官方未给出容量上限说明,实际表现取决于你的机器。这类文件更适合先在命令行里截取片段。
  • 需要搜索与跳转的大型代码库。它是按文件查看,不做跨文件索引。要在大项目里找定义,仍然该用 IDE 或专门的代码搜索工具。
  • 二进制产物。清单里确实包含可执行文件与库文件的预览能力(例如 PE 系与 ELF/Mach-O 格式),但那属于「查看文件信息」,不是「看代码」,不要混淆期待。

九、常见问题

日志文件一直在更新,预览能自动跟着刷新吗?

可以,但默认没开。把主配置文件 QuickLook.config 里的 AutoReload 改成 True,文件在磁盘上变化时预览就会自动重新载入;另外把 ShowReload 设为 True 会让预览窗口多出一个手动重新载入的按钮。如果日志增长很快导致画面持续跳动,建议把 AutoReload 关掉,只留手动按钮。

预览代码能改字号和字体吗?

可以。配置项在 QuickLook.Plugin.TextViewer.config 里:FontFamily 用于指定字体,代码阅读建议换成你编辑器里用的等宽字体;FontSize 默认值是 14.0,在高分屏上可以调到 15 或 16。同一个文件里还有 UseFormatDetector 控制语言检测、AllowDarkTheme 控制深色主题。

它支持 JSONL 这种一行一个 JSON 的格式吗?

支持。官方支持清单里明确列出了 .jsonl,与 .json、.xml、.yaml/.yml 同属文本与代码类目。这类格式在数据管道与日志场景里很常见,不少通用查看工具并不识别,所以这一点值得单独记住。

能用它看 git 补丁文件吗?

可以。支持清单里包含 .diff、.patch 与 .rej 三类。收到补丁时可以先预览确认改动范围,再决定要不要应用;补丁冲突产生的 .rej 文件也能直接看,里面正是没能应用上的那部分改动。

能不能用它替代 IDE 看代码?

不能,定位不同。它是按文件查看的只读工具,不做跨文件索引,也不提供跳转定义、重构这类能力。它替代的是「为了看一眼而启动编辑器」这个动作,不是编辑器本身。需要在大项目里定位符号,仍然应该用 IDE 或专门的代码搜索工具。

相关阅读

接着看这几篇

快捷键

快捷键大全与热键说明

方向键连续切换、从预览窗口拖出文件、以及为什么空格键不能改。

阅读 →
集成

与 Everything、Directory Opus 联动

在第三方文件管理器与搜索工具里也能用空格预览,含取项原理与常见坑。

阅读 →
插件

插件安装与必装推荐

数据库文件、CAD 图纸、压缩包等专业格式靠插件补齐,含完整安装流程。

阅读 →
支持格式

100+ 格式完整清单

文本与代码、图像与 RAW、压缩包、音视频等分类的完整扩展名列表。

阅读 →

还没装?三十秒的事。

免费、开源、无广告。装完选中文件按空格就能用。