V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yagamil
V2EX  ›  程序员

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

  •  
  •   yagamil · 2021-01-03 16:36:15 +08:00 · 3901 次点击
    这是一个创建于 1424 天前的主题,其中的信息可能已经有所发展或是发生改变。
    已经在 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   ·   实用小工具   ·   5505 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 09:00 · PVG 17:00 · LAX 01:00 · JFK 04:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.