Skip to content

graphif/project-graph-global-search

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pg-search

在你所有最近打开的 Project Graph .prg 文件中,全局搜索关键词

pg-search rust
正在搜索 12 个文件…

搜索 "rust" —— 共找到 7 条匹配,来自 3 个文件

[TextNode]  学习 Rust 所有权机制
           文件: 技术笔记.prg  C:\Users\你的名字\Documents\技术笔记.prg

[UrlNode]   The Rust Programming Language
           url: https://doc.rust-lang.org/book/
           文件: 学习计划.prg  C:\Users\你的名字\Documents\学习计划.prg

安装

方式一:下载编译好的 exe(推荐)

  1. 打开 Releases 页面,下载最新的 pg-search.exe
  2. pg-search.exe 放到任意一个在 PATH 里的目录,例如 C:\Windows\System32(或者自己新建一个专门放工具的文件夹并加入 PATH)
  3. 打开 命令提示符PowerShell,输入 pg-search --version,看到版本号就装好了

怎么把文件夹加入 PATH? 搜索栏搜「环境变量」→「编辑系统环境变量」→「环境变量」→ 在「用户变量」里找到 Path → 双击 → 新建 → 粘贴文件夹路径 → 确定。

方式二:从源码编译

需要先安装 Rust 工具链

git clone https://github.com/你的用户名/project-graph-global-search.git
cd project-graph-global-search
cargo build --release
# 生成的 exe 在 target\release\pg-search.exe

使用方法

搜索所有最近打开过的文件

pg-search <关键词>

工具会自动读取 Project Graph 的最近文件列表(默认最近 20 个),在其中搜索关键词。搜索大小写不敏感

常用选项

选项 说明 示例
(无) 搜索最近 20 个文件 pg-search 数据库
-n <数量> 搜索最近 N 个文件 pg-search -n 50 数据库
-f <文件路径> 只搜索指定的单个 .prg 文件 pg-search -f C:\项目\工作.prg 数据库

示例

# 搜索关键词"API",在最近 20 个文件中
pg-search API

# 扩大范围,搜最近 50 个文件
pg-search -n 50 API

# 只在某个特定文件里搜索
pg-search -f "C:\Users\你的名字\Documents\工作计划.prg" API

搜索范围

每个节点的以下内容都会被搜索:

  • 文本节点(TextNode):节点主文本 + 详细描述(Detail 富文本)
  • 章节节点(Section):标题文本 + 详细描述
  • URL 节点(UrlNode):标题 + URL 地址 + 详细描述
  • 连线(LineEdge / MultiTargetUndirectedEdge):连线上的标签文字

前提条件

  • Windows 系统(工具会自动从 %APPDATA%\liren.project-graph\recent-files2.json 读取最近文件列表)
  • 已安装并使用过 Project Graph,且打开过至少一个 .prg 文件

常见问题

Q:提示"没有找到任何最近打开的 .prg 文件"

先打开 Project Graph,随便打开一个 .prg 文件,再试一次。

Q:搜索结果中某些文件被跳过了(⚠ 提示)

该文件可能已被删除或移动,正常现象,不影响其他文件的搜索结果。

Q:想搜索一个不在最近列表里的文件

使用 -f 参数直接指定文件路径:

pg-search -f "C:\路径\文件.prg" 关键词

About

全局搜索prg文件内容的CLI工具

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages