search.resultLimit设为0才真正不限制结果数,但需同步关闭search.useIgnoreFiles、调高search.maxFileSize,否则仍因文件被过滤或跳过而显示不全;UI渲染上限无法配置突破,可用“Copy All Results”导出全部匹配。

search.resultLimit 设为 0 才真不限制
VSCode 默认只返回前 2000 条匹配(旧版甚至设成 20),不是搜不到,是主动截断。面板底部显示「显示 20 个结果」或「… and N more」时,大概率就是这个值卡住了。
- 打开设置(
Ctrl + ,),搜search.resultLimit,把它改成0—— 这表示“不限数量”,比设成 10000 更彻底 - 改完不用重启,但必须重新触发一次搜索:哪怕删掉一个字符再打回来,否则缓存结果不会刷新
- 设为
0后,如果搜索响应明显变慢,说明真有海量匹配(比如日志文件里重复出现的错误码),这时得靠files to include缩小范围,而不是调低 limit
search.maxFileSize 不够大会跳过整个文件
VSCode 默认不搜大于 12800 字节(约 12.5KB)的文件,像 dist/bundle.js、大 JSON、生成的 .d.ts 或压缩日志,根本不会读内容——路径没被排除,但内容被静默跳过。
- 搜
search.maxFileSize,按需调高:日常开发设5242880(5MB)足够;设0表示完全不限,但遇到几百 MB 的二进制文件可能卡 UI - 注意:这个限制只影响「内容搜索」,不影响「文件名搜索」(点搜索框左上角
^切换模式) - 如果改了仍没效果,检查是否误启用了
search.useIgnoreFiles—— 它会让.gitignore规则直接屏蔽整批文件,比maxFileSize更早拦截
search.useIgnoreFiles 开着就等于关掉了半个项目
默认开启的 search.useIgnoreFiles 会让 VSCode 自动跳过 .gitignore 里列出的所有路径。你以为只是忽略版本控制文件,实际连 src/generated/、out/、甚至你自己加的临时目录都会被跳过。
- 在设置里搜
search.useIgnoreFiles,把 User 和 Workspace 两级都设为false - 或者直接编辑
settings.json,确保这两行存在且为false:"search.useIgnoreFiles": false,"search.useGlobalIgnoreFiles": false - 关掉后
node_modules会参与搜索,首次响应可能多等 1–2 秒;但这是可控的,比漏掉关键匹配要好得多
UI 渲染上限无法靠配置突破
即使后端返回了 5000 条结果,VSCode 搜索面板本身只渲染前几百条,其余折叠成「… and 4623 more」。这不是 bug,是前端为流畅性做的取舍,任何设置都改不了。
- 点击面板右上角
⋯→Copy All Results,能拿到全部匹配行(含路径+行号),粘贴到编辑器里可全文浏览 - 更可靠的方式是终端直跑:
rg -n "关键词"(需提前装ripgrep),它不走 VSCode 渲染链路,也不受 UI 限制 - 真正容易被忽略的是:这些限制彼此叠加——
useIgnoreFiles过滤在最前,maxFileSize次之,resultLimit在最后。排查时得按这个顺序逐项确认











