VSCode没有“只在当前分屏查找”功能,因为分屏是UI布局概念,搜索基于文件系统路径和配置规则;实际可用方案为:搜已打开文件用Ctrl+F后Alt+Enter,搜某目录则右键资源管理器中该目录选“Find in Folder”。

VSCode 没有“只在当前分屏查找”功能
直接说结论:Ctrl+Shift+F(全局搜索)永远作用于整个工作区,和当前有几个分屏、哪个分屏聚焦、开了几个 tab 完全无关。VS Code 的搜索范围不感知编辑器组(分屏),只认文件系统路径和配置规则。
你真正想做的,其实是「只搜当前打开的文件」或「只搜某个子目录」
这两种需求常见但容易混淆,对应不同操作路径:
- 如果目标是 仅搜索当前已打开的所有文件(不管分屏与否):用
Ctrl+F(单文件内查找)→ 然后按Alt+Enter(Windows/Linux)或Option+Enter(macOS)将查找范围扩展到所有已打开的编辑器 → 此时结果只来自 tab 列表里的文件,和分屏数量、位置无关 - 如果目标是 只搜当前分屏里那个文件所在的目录(比如右侧分屏开着
src/utils/下的文件,就想搜整个src/utils/):在资源管理器中右键该目录 → 选Find in Folder→ 搜索面板左上角会显示路径前缀(如./src/utils),这就限定了范围 - 如果误点了搜索框右上角的
files to include或files to exclude,导致范围被锁死,就点击那个灰色文字右侧的 × 清除它 —— 这是 80% 用户以为“搜不到”的真实原因
为什么不能靠分屏自动限定搜索?
因为分屏只是 UI 布局层的概念,VS Code 底层搜索走的是 ripgrep,它只读取磁盘路径和 search.exclude/search.include 配置。即使你把 10 个文件拖进 5 个分屏,Ctrl+Shift+F 仍默认扫整个工作区;反过来,哪怕你一个文件都没打开,只要工作区加载了,搜索照样能跑。
真正影响结果数的,是 search.useIgnoreFiles(是否尊重 .gitignore)、search.maxFileSize(跳过超大文件)、以及 search.exclude 里写的 glob 规则 —— 这些都和分屏毫无关系。
最接近你需求的实操方案
没有一键“当前分屏”,但可以快速构建等效效果:
- 确保你要查的文件已打开(任意分屏)→ 右键资源管理器中它所在的**父文件夹** →
Find in Folder - 或者,在搜索面板左上角手动输入路径,比如
src/**或packages/my-lib/**,VS Code 会自动补 glob 并生效 - 若需长期复用(比如团队里总要搜
src/core),就在该文件夹下建.vscode/settings.json,写死"search.include": { "${workspaceFolder}/src/core/**": true }—— 这样每次在这个工作区搜索,默认就只扫这个目录
记住:分屏是看代码的姿势,搜索是找内容的动作,两者在 VS Code 里压根不在同一个抽象层上。强行绑定反而容易踩进配置残留、glob 写错、.gitignore 干扰这些坑里。











