有哪些本地代码库搜索利器 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
yagamil
V2EX    程序员

有哪些本地代码库搜索利器

  •  
  •   yagamil 2021-01-03 16:36:15 +08:00 4337 次点击
    这是一个创建于 1743 天前的主题,其中的信息可能已经有所发展或是发生改变。
    已经在 v 站搜了一遍,没什么好用的结果。 求推荐一个类似与 everything 的快速软件,windows 的自带搜索太占资源,linux 目前只是粗暴的 find xxxx | xargs grep 来搜,有没有好用一点的,最好可以做到像 github 这样的。

    之前搭过 es 在本地,不过因为太占内存了。
    29 条回复    2022-04-23 21:33:14 +08:00
    tangkaichuan
        1
    tangkaichuan  
       2021-01-03 16:45:55 +08:00 via Android
    AnyTXT
    illusionist
        2
    illusionist  
       2021-01-03 16:47:02 +08:00 via iPhone
    感觉 IDEA 能满足你的需求,直接 IDEA 打开目录,然后你就可以双击 shift 搜索文件,如果是内容,可以用 search in path,设置个快捷键就 OK 。开源社区办就可以啦,不用买旗舰版。其他的也很多呀,比如 sourceinsight,slickedit,不过这个要收费的。我用的是 slickedit,主要是轻量。平时加载几个 G 的 Android 代码,IDEA 吃机器配置,Slickedit 快很多啦。
    chenshun00
        3
    chenshun00  
       2021-01-03 16:54:47 +08:00
    grep -nr "xxx" .
    yagamil
        4
    yagamil  
    OP
       2021-01-03 17:01:29 +08:00
    @illusionist 主要是磁盘里不同项目,也有 github 上其他的别人项目,用 idea 载入整个盘,第一次载入非常慢。。
    openmynet
        5
    openmynet  
       2021-01-03 17:05:45 +08:00
    ripgrep
    zhuangzhuang1988
        6
    zhuangzhuang1988  
       2021-01-03 18:24:38 +08:00
    以前 kibana 有个 code 的插件
    支持加入 git + 索引, 然而删除了
    可以下载以前的版本试试
    https://github.com/elastic/kibana/pull/49404
    guoshim
        7
    guoshim  
       2021-01-03 18:37:06 +08:00
    ripgrep +1. 在简单暴力的方法里面应该算是最快的了。
    icelo
        8
    icelo  
       2021-01-03 18:39:27 +08:00
    AnyTXT,可以实现文件内容搜索!
    learningman
        9
    learningman  
       2021-01-03 18:45:09 +08:00
    @illusionist IDEA 的双击 shift 好像找的是函数名?我上次找字符串都找不到
    wangduanduan
        10
    wangduanduan  
       2021-01-03 18:45:56 +08:00 via iPhone
    没必要为了搜点代码再安装一个服务,那真是饶了九曲十八弯了。

    比 grep 更快,更友好的有 ack 。比 ack 更快的有 ripgrep 。这两个命令行工具,绝对能够满足速度要求。
    yagamil
        11
    yagamil  
    OP
       2021-01-03 19:15:15 +08:00
    谢谢大家,直接在 windows 上装了 ripgrep 了
    illusionist
        12
    illusionist  
       2021-01-03 19:21:43 +08:00 via iPhone
    @learningman #9 shift 会默认找文件和 class,action 等,可以右边弹出框配置检索类型,字符串用 search in path,在 keymap 里面配置一个快捷键,我忘记默认的是啥了,我的被我改成 ctrl+shift+l 了
    newdongyuwei
        13
    newdongyuwei  
       2021-01-03 21:26:12 +08:00
    git grep
    ag
    rg
    isukkaw
        14
    isukkaw  
       2021-01-03 21:27:53 +08:00
    VSCode (确信)
    402124773
        15
    402124773  
       2021-01-03 21:36:54 +08:00
    opengrok 啊
    secondwtq
        16
    secondwtq  
       2021-01-03 22:51:22 +08:00 via iPhone
    只有我觉得 GitHub 的代码搜索非常不好用么 ……
    mmdsun
        17
    mmdsun  
       2021-01-03 22:59:12 +08:00 via Android
    Windows 自带的搜索我把.java .js .py 都开文本索引 没感觉。

    ( Win10 20H2 更新,微软更新 Windows Search,以在用户积极使用计算机时暂停索引编制过程。

    Win10 2004 版,引入新算法可检测到过度使用和其他性能问题,并限制搜索索引活动以防止系统变慢。 )
    weyou
        18
    weyou  
       2021-01-03 23:31:27 +08:00 via Android
    everything 不香么? 一直这么搜啊
    your\project\path\*.py content:<keyword>
    nightwitch
        19
    nightwitch  
       2021-01-03 23:35:21 +08:00
    各种 tags 相关的工具啊
    ctags,gtags
    zjsxwc
        20
    zjsxwc  
       2021-01-04 08:01:45 +08:00 via Android
    emacs 装 projectile

    Team
        21
    Team  
       2021-01-04 08:46:41 +08:00
    天哪,我没有看错吗?

    现今最流行的 Visual Studio Code 就是很好的工具.

    首先你需要将被测文件夹用 Visual Studio Code 打开,不管是用命令行参数还是快捷键都是可以的.

    然后你就按下 Ctrl+Shift+F 然后就在左侧面板中进行搜索,你会发现可以搜索整个文件夹里面的内容,而且支持正则表达式速度还挺快的,界面也很优美,而且还支持替换(Ctrl+Shift+H).

    当然快捷键不一定相同,我这个应该是默认的设置.
    treblex
        22
    treblex  
       2021-01-04 09:26:09 +08:00
    vscode 挂全盘实测起飞,还是指定一个项目文件夹吧
    sewer
        23
    sewer  
       2021-01-04 09:39:12 +08:00
    ripgrep vsc 的搜索用的就是这个
    Lemeng
        24
    Lemeng  
       2021-01-04 10:58:57 +08:00
    everting 解君悠
    nmap
        25
    nmap  
       2021-01-04 15:15:09 +08:00
    试了一下 ripgrep,挺好使
    yagamil
        26
    yagamil  
    OP
       2021-01-08 18:17:03 +08:00
    @weyou everything 可以搜到文件内的内容? 我试过,不行,是新版的新功能?
    weyou
        27
    weyou  
       2021-01-08 18:24:23 +08:00 via Android
    @yagamil 1.4 版本以上,很多年前就支持了
    yagamil
        28
    yagamil  
    OP
       2021-01-21 23:18:46 +08:00
    @weyou 谢谢,我试试。我可能用的很久前的绿色版的
    beyondex
        29
    beyondex  
       2022-04-23 21:33:14 +08:00
    归海桌面搜索搜全文内容挺快的,对代码搜索专门有优化,不过付费,可以免费试用。

    我看看能不能传图片

    ### 搜索方法调用:
    ![]( https://seadesktopsearch.com/wp-content/uploads/2021/06/代码搜索-Semaphore-Release.png)
    ### 搜索类名
    ![]( http://seadesktopsearch.com/wp-content/uploads/2021/06/Code-Search-2.png)
    ### 搜索类名+方法名片段
    ![]( http://seadesktopsearch.com/wp-content/uploads/2021/06/Code-Search-3.png)
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3440 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 04:50 PVG 12:50 LAX 21:50 JFK 00:50
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86