轻量级 OneNote 插件,遍历所有笔记本页面进行全文搜索,不依赖 WSearch 索引,从而防止因内容未索引而造成的搜索遗漏。
A lightweight OneNote add-in that performs full-text search by traversing all pages across all notebooks, without relying on the Windows Search index, to avoid search omissions caused by unindexed content.
安装.msi(用户)
- Windows 10/11 x64
- 已安装 Microsoft OneNote 或 Microsoft 365 OneNote 桌面版(OneNote COM 服务器必须存在)
- .NET 8 Desktop Runtime(x64) — 若未安装需从 Microsoft 下载
开发 / 构建(开发者)
- Visual Studio 2022+ 或 MSBuild 17+(用于从源码编译和发布)
- .NET SDK 8.x(用于
dotnet build/dotnet publish)
优先使用仓库根目录下的一键脚本 build.ps1(会完成 AddIn 的 MSBuild 构建、主程序的 dotnet publish,以及使用 WiX 打包 MSI)。
- 工具栏“开始”选项卡中找到OneFinder工具栏,点击"全文搜索"
- 在搜索框输入关键词,按 Enter 或点击"搜索"
- 等待扫描完成(底部状态栏显示当前扫描进度)
- 双击结果列表中的条目,OneNote 会自动跳转到对应页面
- 回收站中的页面、受密码保护的页面会被自动跳过
- 同一页最多显示5条匹配结果 [5/5]
- 笔记本越多、页面越多搜索越慢,关键词仅支持完全匹配
- 单个笔记本页面过多时,搜索期间OneNote可能会短暂未响应(由于 OneNote COM API 的架构限制,OneFinder 必须逐页调用
GetPageContent()由 OneNote 主进程同步处理)
<repo-root>/
├── README.md
├── build.ps1
├── nuget.config
├── OneFinder.sln
├── installer/
│ ├── Package.wxs
│ └── OneFinderSetup.wixpdb
├── OneFinder/
│ ├── OneFinder.csproj # net8.0-windows, x64
│ ├── Program.cs
│ ├── MainForm.cs
│ ├── MainForm.Designer.cs
│ ├── OneNoteService.cs
│ ├── USER_GUIDE.md
│ └── CHANGELOG.md
└── OneFinder.AddIn/
├── OneFinder.AddIn.csproj # .NET Framework 4.8 add-in for OneNote
├── AddIn.cs
├── Ribbon.xml
└── bin/ # build outputs for add-in (net48)

