V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
levelworm
V2EX  ›  编辑器

请教,什么 IDE 看内核代码比较好?能否满足以下需求?

  •  1
     
  •   levelworm · 5 天前 · 787 次点击

    我用 VSCode 看 xv6 的内核代码。这是一个教学操作系统,所以统共也没多大,但是用起来还不是 100%的顺手。我想请教一下,有没有编辑器能够满足以下需求?

    1. 首先是基础体验(打开速度、索引建立、自动完成等基础功能)不能比 VSCode 更差,否则就没必要了。

    2. 希望能够满足一键在下半部分的一个窗口打开 Type Definition 。其实就是 VSCode 里 Peek type definition 的功能。问题是 VSCode 是直接在代码窗口打开,这样就把代码给遮住了,我希望能够在下方某个窗口,比如说 Terminal 所在的地方打开。

    3. 如有可能的话,能够显示函数调用图以及详细的函数调用。我来描述一下。比方说有个函数 foo()里有一行代码调用 bar(),我希望能做到这样——我点击 foo()里 bar()的调用,然后立刻就会在旁边创建一个仅含bar()全部代码的窗口。同时也有一个箭头从 foo()里的 bar()指向这个窗口。接下来点击 bar()里对其他函数的调用,也会在边上创建另一个代码窗口。我认为能够实现这样的功能,对于跟踪相对复杂的调用(比如说文件系统)来说实在是太顺手了。大致上来说就是这样的: https://hex-rays.com/hubfs/Imported_Blog_Media/graph_edges-Jun-18-2024-09-01-41-0825-AM.png

    (不过上图中是汇编代码,我指的是 C 函数的代码)

    7 条回复    2025-12-22 20:20:40 +08:00
    coldear
        1
    coldear  
       5 天前   ❤️ 1
    要速度的话 sublime text
    levelworm
        2
    levelworm  
    OP
       5 天前
    @coldear #1
    不知道有没有满足 2/3 两个需求的插件?我主要是读代码的时候用,毕竟内核这种玩意,哪怕是 xv6 这种玩具内核,真正要(能)写的东西也不多。
    mosfet
        3
    mosfet  
       4 天前   ❤️ 1
    source insight?
    我也忘了是不是 100%满足你的需求
    以前看 freeRTOS 的源码是用这个看的,印象还可以
    tuwulin365
        4
    tuwulin365  
       4 天前   ❤️ 1
    levelworm
        5
    levelworm  
    OP
       4 天前 via iPhone
    @mosfet #3
    我的确是看过这个产品,可惜太贵外加不支持 Linux ,不过也许 Wine 可以。
    talengu
        6
    talengu  
       2 天前 via iPhone   ❤️ 1
    doxgen wizard 看调用逻辑,粗读。

    vscode + gnu global 看跳转,精读。
    levelworm
        7
    levelworm  
    OP
       2 天前 via iPhone
    @talengu #6
    多谢大佬,第一次听说 global 这个工具,我去看看哈。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1084 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 23:03 · PVG 07:03 · LAX 15:03 · JFK 18:03
    ♥ Do have faith in what you're doing.