右键“Find in Folder”是最直接的路径限定方式,无需配置:选中文件夹后右键→Find in Folder(Win/Linux: Alt+Shift+F,macOS: Option+Shift+F),自动生成**/utils/**等相对glob模式,临时但可靠;常见错误包括未右键、误选Reveal或手动填错路径;files to include需填相对于工作区根的glob(如**/src/**),search.include才是真正白名单机制,须在.settings.json中配置${workspaceFolder}/src/**,且Windows必须用正斜杠;修改search.exclude后需重载窗口或删除.vscode/.search目录刷新索引,且search.exclude与files.exclude需同时设置以防资源浪费。

右键“Find in Folder”是最直接的路径限定方式
不需要改任何配置,只要在资源管理器里选中目标文件夹(比如 src/utils),右键 → 选择 Find in Folder,VS Code 就会自动把搜索范围锁死在这个文件夹及其子目录。Windows/Linux 快捷键是 Alt + Shift + F,macOS 是 Option + Shift + F,选中后按 Enter 即可触发。
这个操作生成的搜索条件会自动填入搜索面板的 files to include 字段,值为 **/utils/** 这类相对 glob 模式——它不依赖 workspaceFolder 变量,也不受 search.include 白名单压制,属于临时但最可靠的“一次限定”。
常见错误:只点开文件夹、没右键,或右键后误选了 Reveal in Explorer;还有的用户习惯用 Ctrl+Shift+F 打开全局搜索后再手动填路径,结果填成 src/utils/**(缺 **/ 前缀)导致匹配失败。
在搜索面板里填 files to include 要注意 glob 基准
打开 Ctrl+Shift+F 后,在搜索框下方展开高级选项,找到 files to include 输入框。这里填的不是绝对路径,而是相对于工作区根目录的 glob 模式:
-
src/**:只匹配根目录下的src文件夹,packages/my-app/src/**不会命中 -
**/src/**:匹配任意层级下名为src的文件夹,适合 monorepo -
${workspaceFolder}/src/**:无效写法——搜索面板不解析变量,只认纯 glob
如果你填了 src/** 却仍搜到 build/ 下的内容,大概率是因为 search.include 没配,而 VS Code 默认 fallback 到整个工作区扫描;此时 files to include 只是“过滤已扫描结果”,不是“限制扫描范围”。
search.include 是真正生效的白名单机制
想让每次 Ctrl+Shift+F 都默认只扫几个目录,必须在项目根目录的 .vscode/settings.json 里配 search.include:
{
"search.include": {
"${workspaceFolder}/src/**": true,
"${workspaceFolder}/include/**": true
}
}
这个配置优先级高于界面输入框,且支持 ${workspaceFolder} 变量展开。关键点:
- 路径必须带
${workspaceFolder}/前缀,单独写src/**会被忽略 - Windows 用户务必用正斜杠
/,\src\**或src\**全部失效 - 如果同时配了
search.exclude,比如"${workspaceFolder}/src/generated/**": true,那这部分仍会被跳过——exclude在include之后生效
多根工作区下,每个根目录的 .vscode/settings.json 独立生效,不会互相污染。
为什么改了 search.exclude 还是搜出不该出现的文件
VS Code 搜索依赖本地索引缓存,修改 search.exclude 后不会立刻刷新已建立的索引。现象是:明明写了 "**/dist": true,搜索结果里仍有 dist/ 下的文件。
解决方法只有两个:
- 按
Ctrl+P输入workbench.action.reloadWindow强制重载窗口(比关掉再开快) - 删掉项目根目录下的
.vscode/.search文件夹,让 VS Code 下次启动时重建索引
另外注意:search.exclude 和 files.exclude 必须同时设置。只设前者,VS Code 仍会为被排除的目录开启文件监视器,可能导致 inotify 句柄耗尽、CPU 持续飙升;只设后者,搜索时照样扫那些被隐藏的目录。


















