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

9102 年了, mac 下有没有能替代 source insight 的 c/c++源代码阅读软件

  •  
  •   52coder · 292 天前 · 10567 次点击
    这是一个创建于 292 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 V2EX 搜了好多帖子,看到大家从 win 切换到 mac 时少了 source insight 所带来的不习惯。 由于 V2EX 里的帖子有一些比较久了,现在 mac 平台阅读 c/c++代码使用什么 ide.只是阅读,由于代码量大,本地编译不现实。 最好是 mac win 跨平台的.

    99 回复  |  直到 2019-11-26 02:15:58 +08:00
    x1596357
        1
    x1596357   292 天前 via iPhone
    qtcreator, 平时看 wine 代码 4 百万行都不怎么卡
    imkerberos
        2
    imkerberos   292 天前
    没有.
    hilbertz
        3
    hilbertz   292 天前
    vs, vsc
    52coder
        4
    52coder   292 天前
    @x1596357 我怎么感觉这货好卡呀
    52coder
        5
    52coder   292 天前
    @hilbertz vscode 是不是要配置,查看引用是不是要装 gtags 等?
    waruqi
        6
    waruqi   292 天前 via Android   ♥ 1
    understand
    52coder
        7
    52coder   292 天前
    @waruqi 是否有 1.跳转到实现 2.选中变量 宏 函数 查看所有引用 等基本功能?
    hilbertz
        8
    hilbertz   292 天前
    @52coder vscode 装 c/c++插件就可以了
    52coder
        9
    52coder   292 天前
    @hilbertz 在你发帖前我装了几个插件,还是不能查看这个函数或者变量被跨文件夹下的哪个文件里调用
    superzou
        10
    superzou   292 天前 via Android
    understand
    52coder
        11
    52coder   292 天前
    @superzou understand 再加一票,我晚上回去试试。
    52coder
        12
    52coder   292 天前
    @hilbertz 装了 c/c++插件,实现不了查看引用功能,搜索了下还要装 gtags,现在在 windows 上试验,mac 上晚上下班回去试验。
    fengjianxinghun
        13
    fengjianxinghun   292 天前 via iPhone
    understand
    ggicci
        14
    ggicci   292 天前
    sourcegraph,还能自己搭私服
    fengjianxinghun
        15
    fengjianxinghun   292 天前 via iPhone   ♥ 1
    mac/linux 调试我用 idapro 源码调试
    看代码 understand
    写代码 emacs
    kristpan
        16
    kristpan   292 天前 via Android
    你们的 understand 用的盗版的吗?
    52coder
        17
    52coder   292 天前
    @kristpan 如果要用 understand 的话,我可能要用为数不多的盗版了。略贵呀
    52coder
        18
    52coder   292 天前
    @ggicci 自己搭代码服务器,然后网页用 sourcegrah 插件?少年你骨骼清奇呀。哈哈哈
    sadhen
        19
    sadhen   292 天前
    如果在参与开源项目的话,可以向 Intellij 申请 CLion 的 License
    waruqi
        20
    waruqi   292 天前 via Android
    @52coder source insight 有的 基本都有,而且是跨平台的
    sinxccc
        21
    sinxccc   292 天前
    我选择 wine Source Insight..
    zjsxwc
        22
    zjsxwc   292 天前 via Android
    jb 家的不好用吗?
    yuting0501
        23
    yuting0501   292 天前 via iPhone   ♥ 2
    我觉得 VSCode 可以结束这个话题,配置好 intellisense,source insight 这种上古软件可以安心退休
    hackpro
        24
    hackpro   292 天前
    understand
    wzhy
        25
    wzhy   292 天前 via Android
    @x1596357 qtcreator 打开一个项目中的源代码文件( cpp),这个文件中有很多黄色的 warning (语法之类的),然后就相当卡,特别是改正了其中几个 warning 的瞬间,卡到爆……有没有办法解决?
    minami
        26
    minami   292 天前
    @wzhy #25 是不是打开了 CppCheck 这个插件?
    ggicci
        27
    ggicci   292 天前
    @52coder 不用装插件啊,私服就本地 docker pull 啊,没有你想象中的那么坏
    lovedebug
        28
    lovedebug   292 天前 via Android
    opengrok ?万能
    52coder
        29
    52coder   292 天前
    @waruqi 中文注释乱码如何破,设置里面打开方式为 utf-8
    52coder
        30
    52coder   292 天前
    @hackpro 中文注释乱码如何破,设置里面打开方式为 utf-8
    chiu
        31
    chiu   292 天前 via Android
    公司有配 SlickEdit 的 license,但我自己用不习惯,Mac 目前用 VSC,配合一些插件用还可以。
    weiqk
        32
    weiqk   292 天前 via Android
    codeblocks 了解下,我觉得是最好的代码阅读工具
    52coder
        33
    52coder   292 天前
    @yuting0501 决定折腾 vscode 了,有没有具体配置相关的教程?
    leighton
        34
    leighton   292 天前 via iPhone
    我不信 qtcreator 还能比 vscode 卡
    ourleven
        35
    ourleven   292 天前 via iPhone
    竟然没人提 sublime
    52coder
        36
    52coder   291 天前
    @ourleven sublime 需要安装什么插件?需要记住很多快捷键吧?单独装上去连跳转都没有
    livepps
        37
    livepps   291 天前 via Android
    cmake 工程,clion 非常好用,如果不是,跳转可能有时候不准确。
    BBCCBB
        38
    BBCCBB   291 天前
    clion 或者 eclipse 试试
    52coder
        39
    52coder   291 天前
    @livepps 不是 cmake 工程,都是 makefile,clion 找师弟申请了免费版
    52coder
        40
    52coder   291 天前
    @BBCCBB clion 基于 cmake,我现有的工程都是 makefile,楼上也有朋友说不是 cmake 工程跳转不准确,我昨天试验确实是这样。
    x1596357
        41
    x1596357   291 天前 via iPhone
    @wzhy 关闭 line annotation 试试,如果项目真的很大你要看完成索引没有,在右下角有个进度,没完成索引前 CPU 占用率是很高的
    ww2000e
        42
    ww2000e   291 天前
    vim+ycm...
    somebody
        43
    somebody   291 天前 via Android
    CLion,自己导入一下,生成 cmake 文件,再适当修改。
    看 40 万行代码的 Android art 代码全靠它
    x1596357
        44
    x1596357   291 天前 via iPhone
    再不行的话,你可能需要关闭 clang 索引插件,大项目会吃几个 G 内存,你可能内存不足了。
    juzipeek
        45
    juzipeek   291 天前
    可以尝试下 understand (收费),kdevelop (免费)
    tcfenix
        46
    tcfenix   291 天前
    跨平台的话真心推荐 clion,保证 win mac 等各种平台统一的体验,甚至于其他语言,比如 Golang,JAVA,PYTHON 都能保证统一的手感.
    clion 的跳转应该是基于 cmake 的,之前使用个 makefile 的时候就是我又自己手动维护一个 cmakelist 来保证跳转.
    eliteYang
        47
    eliteYang   291 天前
    clionvscode vs for mac
    52coder
        48
    52coder   291 天前
    @juzipeek understand 使用的时候中文注释乱码,不知道你知不知道如何配置?
    cstj0505
        49
    cstj0505   291 天前
    vim+ycm +1
    GoodRainChen
        50
    GoodRainChen   291 天前
    居然没有提 xcode 的?
    52coder
        51
    52coder   291 天前
    @cstj0505 这个对于平时使用 ide 习惯的人来说,使用习惯难以切换。
    52coder
        52
    52coder   291 天前
    @cstj0505 vim+ycm 跳转和自动补全可以实现之后,查看函数调用之类的呢?颜值党表示,vim 看起来有点古老了。
    52coder
        53
    52coder   291 天前
    @GoodRainChen xcode 是不是太重了?
    CodingDoge
        54
    CodingDoge   291 天前
    @waruqi 碰巧看到我司大佬😏
    52coder
        55
    52coder   291 天前
    @CodingDoge 你司大佬的 understand 怎么解决中文注释乱码问题的 @waruqi
    boywhp
        56
    boywhp   291 天前
    vim
    yuting0501
        57
    yuting0501   291 天前 via iPhone
    @52coder VSCode 官方教程就可以了,Qt 我也用,流畅度没有其他人说的会比 VSCode 好
    0871087123
        58
    0871087123   291 天前
    understand
    vim+YCM
    clion
    sublime
    atom
    nodepad++
    sourceinsight
    看啥情况咯,这些我都用
    0871087123
        59
    0871087123   291 天前
    对了还有 visual studio
    0871087123
        60
    0871087123   291 天前
    是了,mac 上面,那 visual studio 可以改成 vscode ………………
    tomychen
        61
    tomychen   291 天前
    如果说 vim 会不会挨喷...
    vim + ctags
    LANB0
        62
    LANB0   291 天前
    即使过了这么多年,依然没有可以替代 sourceinsight 的,win 下也是。函数列表(支持搜索),跳转到定义、跳转到调用处、引用全项目搜索。vscode+c/c++插件没有引用搜索、每次打开项目都很卡顿。clion 直接很多函数变量识别不到。understand 是最接近 si 的,三年前尝试了几天,还是换回了 wine+si,功能使用步骤太繁琐
    karllynn
        63
    karllynn   291 天前
    随便用啥看,vscode,vim 都行,虚拟机用 vs 看也有过

    我讨厌 C++
    wzhy
        64
    wzhy   291 天前 via Android
    @minami 谢谢提醒,但是我应该没用这个插件,因为找半天没找到…
    wzhy
        65
    wzhy   291 天前 via Android
    @x1596357 您说的没错,索引完不会卡,但是只要修改其中的一两行代码,它会重新索引,那一下特别占 CPU。
    c9106
        66
    c9106   291 天前
    slickedit 完美代替 source insight
    yuankui
        67
    yuankui   291 天前
    lsmgeb89
        68
    lsmgeb89   291 天前
    VSCode 装微软官方的 C++ 插件,根据官方文档简单配下,只要不是大型项目(百万行级别的),性能都可以。

    其实只要是 language server 实现的都可以用。

    Source Insight 可以直接删掉了
    fengjianxinghun
        69
    fengjianxinghun   291 天前
    @lsmgeb89 完全不行,不信试一下 linux 源码
    lixianhuei
        70
    lixianhuei   291 天前
    很多人不知道一个神奇:IDA。我用来做逆向工程的,交叉引用,注释,图例,插件,什么都可以做,完美。。

    用来读各种源码也爽翻天的。。
    thinkloki
        71
    thinkloki   291 天前
    插眼求一个看 android 源码的工具。
    livepps
        72
    livepps   291 天前 via Android
    @52coder 如果工程结构不复杂,自己写下 cmake 文件,复杂的 makefile 写成 cmake 那就头疼了
    lsmgeb89
        73
    lsmgeb89   291 天前
    Google 搞的 clangd 应该是大杀器,不过还需要时间。

    &t=2688s

    视频里提到了 cquery 是现有比较成熟的方案。
    lsmgeb89
        74
    lsmgeb89   291 天前
    @fengjianxinghun 公司里 170 万行的 C++14 的项目,主要是借助 cmake 生成的 compile_commands.json 配置 C++ 插件,VSCode 精确性和性能都还可以接受。
    jfcherng
        75
    jfcherng   291 天前
    Sublime Text 的關鍵就是 LSP 的支持。

    clangd / cquery 的關鍵都是生成 compile_commands.json。
    cmake 的工程本身就有 flag 能生成 compile_commands.json
    makefile 的工程可以用 compiledb 生成 compile_commands.json

    Sublime Text + Clangd 踩坑: https://git.io/fjIrK
    lsmgeb89
        76
    lsmgeb89   291 天前   ♥ 1
    这里有一份 language server 的实现情况

    https://langserver.org/
    Deville
        77
    Deville   291 天前
    昨儿 vs2019 不是发布了 Mac 版吗
    piapia
        78
    piapia   291 天前 via iPhone
    @Deville 貌似不支持 c/c++
    qgymib
        79
    qgymib   291 天前
    凡是用于阅读 C/C++代码的无脑推荐 eclipse cdt,凡是用于书写 C/C++代码的无脑推荐 visual studio
    waruqi
        80
    waruqi   291 天前 via Android
    @CodingDoge
    @52coder 没遇到过,不怎么看带中文注释的代码,你可以这个脚本用 iconv 批量吧源文件转成 utf8 后再看试试
    fengjianxinghun
        81
    fengjianxinghun   291 天前
    @Deville mac 版的 vs 那个就是收购的 monodevelop,只能搞 C#
    Deville
        82
    Deville   291 天前
    @piapia
    @fengjianxinghun
    搜嘎。。。
    piapia
        83
    piapia   291 天前
    @thinkloki #71 搭车同求... 另外请问你试过 vscode 么?
    thinkloki
        84
    thinkloki   291 天前
    @piapia 没试过我都是用 Subline 的,很不方便。
    fengjianxinghun
        85
    fengjianxinghun   291 天前
    @waruqi Project->Configure Project->File Options-> Encoding
    miscmz
        86
    miscmz   291 天前 via Android
    vim,vscode
    JasperHale
        87
    JasperHale   291 天前
    看代码+部分编辑 vscode+clang 跳转,结构体补全 /查看引用 等都可以胜任. Subline / atom 同理.
    clang 的补全和提示比 gtags 要好. vscode+gtags 效果不佳,当然也可能是配置的方式不对...
    clion 基本完美,但是收费..比较吃内存吧,新版本应该好一些,N 久没用了.
    JasperHale
        88
    JasperHale   291 天前
    忘了 ps : 以上实践基于 c 而非 c++. vscode 的 c/c++插件,结构体补全不太好
    HangoX
        89
    HangoX   291 天前
    说 jetbrains 的,是没看过大项目吧。。。Android 源码要弄到比较小的范围才能索引,不然就挂
    allenforrest
        90
    allenforrest   291 天前
    我靠,居然不用 Xcode 吗?重归重,但也要看你工程本身的规模啊。
    52coder
        91
    52coder   291 天前
    @JasperHale 我使用了 vscode + gtags,索引起来比较费劲,比如有些全局变量我想看哪修改的,shift+f12 有时候不灵,只能搜索。
    52coder
        92
    52coder   291 天前
    @Deville 没看到有支持 c++,而且前面评价比较差
    52coder
        93
    52coder   291 天前
    @allenforrest 阅读代码都是万行以内的小模块,15 最低配 pro,开 xcode 再开别的,内存扛不住
    freedomshi
        94
    freedomshi   290 天前
    eclipse 了解一下。。。
    52coder
        95
    52coder   290 天前
    @freedomshi eclipse 放假了解下,目前在用 understand 和 vscode,understand 静态分析功能真心强大。
    wenweihu86
        96
    wenweihu86   258 天前
    试过了 vscode、slickedit,都没法替代 source insight。slickedit 最接近,但查看函数引用功能没有; vscode 就更差了,跳转到实现都没做好。
    52coder
        97
    52coder   258 天前
    @wenweihu86 跳转有时候都得卡一下,哈哈哈,全局变量看哪些地方调用,有的可以看,有的不可以看,但是界面漂亮,好看不好用,你有好的推荐没
    Kellerman
        98
    Kellerman   87 天前
    @fengjianxinghun 可以吧,我就在看。
    piapia
        99
    piapia   55 天前
    @lixianhuei #70 这个是啥神奇操作?请教下怎么导入源码呢?
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1118 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 41ms · UTC 19:07 · PVG 03:07 · LAX 11:07 · JFK 14:07
    ♥ Do have faith in what you're doing.