Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>super-searchNew to Visual Studio Code? Get it now.
super-search

super-search

sychen11001

|
3 installs
| (0) | Free
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

super-search

一个模块化、可扩展的 VS Code 插件样板,适合演进为大型复杂插件。

功能

  • 示例命令:Hello World(super-search.helloWorld)。
  • 超级搜索(插件化架构):
    • 结果树视图展示匹配结果
    • 侧栏展示当前查询与激活的过滤器
    • Webview 输入框支持回车触发搜索、输入即实时搜索
    • 通过“搜索提供者 + 过滤器提供者”实现可扩展能力

开发

  • 架构说明见 ARCHITECTURE.md 与下文“架构概览”。
  • 构建:npm run compile,调试:按 F5。

热更新(开发)

  • 启动:按 F5 选择“Run Extension”。已配置预启动任务 npm: watch,后台使用 tsc -watch 增量编译至 out/。
  • 修改并保存:自动增量编译,无需手动构建。
  • 应用改动(热更新):在扩展开发主机窗口运行命令“Developer: Restart Extension Host”或“Developer: Reload Window”即可快速生效(无需停止调试)。
  • 可选优化:为“Developer: Restart Extension Host”绑定快捷键,进一步减少操作。

配置

  • 后续将在 super-search 命名空间下提供配置项。

架构概览(插件化)

UI Layer
  ├─ ResultsTreeProvider        (仅视图)
  ├─ QueryListProvider          (仅视图)
  └─ SearchInputWebviewProvider (输入)

Core
  ├─ PluginManager              (插件注册/发现)
  └─ SearchCoordinator          (状态、编排、事件)

Plugins
  ├─ Search Providers: TextSearchProvider (默认)
  └─ Filter Providers: include-path, exclude-path, include-ext, exclude-ext, exclude-term
  • 扩展点接口定义:ISearchProvider, IFilterProvider(见 src/features/superSearch/core/types.ts)
  • 注册插件:在 src/features/superSearch/index.ts 中通过 PluginManager 注册
  • 统一编排:SearchCoordinator 根据查询选择搜索提供者并串联过滤器

使用说明

  • 打开命令:Super Search: Search(或使用顶部输入框)
  • 输入任意查询词进行全文搜索
  • 过滤:
    • 路径包含:path:src 或 /src
    • 路径排除:-path:dist 或 -/dist
    • 扩展名包含:.ts,.vue 或 ext:ts,vue
    • 扩展名排除:-.d.ts 或 -ext:d.ts
    • 内容排除:-password 或 -"secret key"
  • 清空:Super Search: Clear

二次开发(如何新增插件)

  1. 新建文件,实现接口:
    • 搜索插件:实现 ISearchProvider,形如 MySearchProvider
    • 过滤插件:实现 IFilterProvider,形如 MyFilterProvider
  2. 在 index.ts 中注册:
    pluginManager.registerSearchProvider(new MySearchProvider());
    pluginManager.registerFilterProvider(new MyFilterProvider());
    
  3. 协调器会自动按 canHandle/parse 的结果选择插件并执行

迁移说明(与旧版差异)

  • 移除:narrow/*、engine/textSearch.ts、旧的查询/过滤命令与模型
  • 视图不再持有业务状态,全部由 SearchCoordinator 统一管理
  • 未来建议在 SearchState 中引入 history 以支持查询历史展示
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft