DigUp 代码搜索设置与使用指南

DigUp 使用 EmbeddingGemma 2 模型为选定项目代码建立独立索引,支持通过 code: 前缀按功能描述定位函数定义和笔记单元格。

当前版本:Mac 为 0.6.1,Windows 和 Linux 为 0.7.0-beta.1(测试版);已根据 2026年10月15日 的 DigUp GitHub Releases 页面进行核对。

DigUp 默认关闭代码搜索功能。开启后,它会为指定的代码仓库单独建立向量与关键词索引,不会将代码内容混入普通日常文件的搜索结果中。关于普通文件的搜索与预览方式,可以参考 DigUp 怎么用:快捷键与搜索教程。

代码搜索写法与示例

使用代码搜索时,必须在搜索框中以 code: 开头,后接代码功能的自然语言描述或代码中出现的名称:

  • code: retry a failed call with backoff:按功能查找实现了带退避重试调用的函数,无论函数具体命名为何。
  • code: refreshAccessToken:直接跳转到定义该函数的代码行,而不是调用该函数的各处位置。
  • code: plot how many examples each class has:找到绘制各类别样本数量图表的 Notebook 单元格。

读取的文件与自动跳过的项

DigUp 在指定的代码目录中读取源文件、不包含输出结果的 Notebook 单元格,以及仓库自带的文档。代码索引不会读取以下内容:

  • Git 忽略(.gitignore)的文件
  • 第三方依赖(vendored)与自动生成的代码
  • 数据集与数据文件
  • 密钥、证书以及密码文件

在代码项目文件夹(包含 .git 或 package.json 的目录)中,日常文件索引仅会读取屏幕截图。

结果跳转与支持的编辑器

搜索结果会在对应文件的具体行打开。支持的编辑器需要在“Settings”中挑选,包括:Zed、VS Code、Cursor、Sublime Text、JetBrains 系列 IDE,在 Mac 上支持 Xcode,在 Windows 上支持 Notepad++。

索引耗时与后台更新机制

编写代码期间,DigUp 在文件修改停止一分钟后跟进更新索引。

在 Mac 上,读取一个小型应用的代码大约需要 20 秒;读取完整的 llama.cpp 仓库大约需要 20 分钟,生成的索引文件占用约 130 MB 空间。

操作步骤

  1. 开启代码搜索

    在初次配置向导中,或在软件菜单中打开“Settings → Code”开启代码搜索开关。

  2. 添加代码仓库目录

    选择需要建立索引的代码文件夹,DigUp 会预估读取该仓库所需的时间以及索引占用的存储空间。

  3. 指定关联编辑器

    在“Settings”中挑选需要用于打开代码结果的编辑器,如 Zed、VS Code、Cursor、Sublime Text、JetBrains IDEs。

  4. 使用快捷键执行搜索

    在 Mac 上按下 ⇧⌘Space,或在 Windows 与 Linux 上按下 Ctrl+Shift+Space 呼出面板,输入以 code: 开头的描述或名称即可查找并按回车跳转。

常见问题

为什么普通搜索无法搜出代码仓库里的源文件?

代码搜索拥有单独的索引,默认处于关闭状态。只有在搜索词前加上 code: 前缀时,DigUp 才会检索代码仓库,日常文件搜索不会混入代码。

DigUp 会读取代码仓库里的密钥或数据文件吗?

不会。DigUp 会自动跳过 Git 忽略的文件、第三方依赖代码、生成代码、数据文件,以及任何看起来像密钥或密码的文件。

在编辑器里写代码时会持续触发重新索引吗?

DigUp 会在代码修改完全停顿一分钟之后,在后台更新变更部分的索引。