vscode-crosside-code-finder能解决原生搜索目录嵌套深、条件组合多、查找器复用难三大痛点;需手动安装.vsix文件,配置独立finder实现按需精准搜索。

直接结论:插件不是必需品,但 vscode-crosside-code-finder 能解决原生搜索里最卡手的三个问题——目录嵌套深、条件组合多、查找器复用难。
vscode-crosside-code-finder 怎么装和配
它不走 VSCode 插件市场主渠道,得手动安装:Ctrl+Shift+P → 输入 Extensions: Install from VSIX → 下载最新 .vsix 文件(GitHub 仓库 releases 页面)→ 选中安装。装完重启,面板里会出现一个新图标「Finder」。
首次使用必须配置至少一个 Finder,否则点不动。配置路径是:Ctrl+Shift+P → Crosside: Configure Finders → 自动生成 .vscode/crosside.json。里面每个对象就是一个 Finder,关键字段是:
-
name:显示在 Finder 下拉菜单里的名字,比如"API calls in Vue" -
root:搜索起始路径,支持相对路径如"src"或绝对路径 -
include:glob 模式,例如"**/*.vue",不能留空 -
exclude:数组形式,比如["**/test/**", "**/mocks/**"]
注意:exclude 是精确匹配路径段,"**/test/**" 会排除 src/test/utils.ts,但不会排除 src/user/test.ts(因为 test 不在路径第一级)。
为什么不用原生 search.exclude
原生 search.exclude 是全局或工作区级的“一刀切”,所有搜索都受它影响。而真实开发场景需要的是“这次搜 API,下次搜组件,再下次只看 hooks”——每种需求的排除逻辑不同。
比如你正在调试登录流程,想查所有调用了 auth/login 的文件,但只想看 src/pages 和 src/composables,同时跳过 src/utils/request.ts(它是通用封装,不关心)。原生设置做不到这种“按需排除”,只能临时改 search.exclude,改完还得手动恢复,极易出错。
vscode-crosside-code-finder 的每个 Finder 是独立配置,互不干扰。你可以建三个 Finder:
-
Auth Flow (Pages + Composables):include["**/pages/**", "**/composables/**"],exclude["**/utils/**"] -
TSX Components Only:include"**/*.tsx",exclude["**/*.test.tsx"] -
Legacy Code Audit:root 设为"legacy",include"**/*.js"
和 ripgrep 命令行怎么配合用
这个插件底层其实调用的就是 rg(ripgrep),所以它的行为和你在终端跑的 rg 命令高度一致。如果你某次在插件里搜不到东西,但直觉觉得应该有,优先去终端验证:
打开项目根目录,运行:
rg "api.getUserInfo" --type-add 'vue:**/*.vue' -g '**/src/**' -g '!**/test/**'
如果终端能搜到,插件没搜到,大概率是 Finder 配置里 root 或 include 写错了路径;如果终端也搜不到,说明代码里真没这串字,或者被动态拼接了(比如 api['getUserInfo'])。
注意:--type-add 和 -g 参数对应插件里的 include 和 exclude,但插件自动处理了类型注册,你不用像命令行那样手动 --type-add。
容易被忽略的路径边界问题
所有 glob 模式里的 ** 都是“从当前目录向下递归”,不是“整个工作区任意位置”。比如你设 root: "src",include: "**/*.ts",那它只扫 src 下的所有 .ts 文件;但如果你设 root: ".",include: "src/**/*.ts",效果一样,可读性反而差。
更隐蔽的坑是斜杠方向:Windows 用户写 "src\components\**" 会被插件忽略,必须统一用正斜杠 "src/components/**" —— 这是 glob 规范,不是插件 bug。
最后一点:插件默认不读取 .gitignore,哪怕你开了 search.useIgnoreFiles。它只认自己配置里的 exclude。所以如果你依赖 .gitignore 管理忽略规则,得手动同步过去,不然搜索结果会多出一堆你不想要的文件。











