ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Sourcetrail 源码探索实践指南:10 分钟用代码可视化读懂陌生项目的依赖关系图

Sourcetrail 源码探索实践指南:10 分钟用代码可视化读懂陌生项目的依赖关系图 Sourcetrail 源码探索实践指南10 分钟用代码可视化读懂陌生项目的依赖关系图【免费下载链接】SourcetrailSourcetrail - free and open-source interactive source explorer项目地址: https://gitcode.com/GitHub_Trending/so/Sourcetrail假设你刚接手一个三万行的 C 工程没有架构文档原作者已经离职。你要在半天内回答三个问题——某个类定义在哪谁在调用它改它会影响什么逐文件通读做不到了Sourcetrail 就是为这种处境准备的它是一个免费开源的交互式源码探索工具先把代码索引一遍再用一张源码依赖关系图把结构摊到你面前你只需要在图上点来点去而不是在文件树里翻来翻去。 装好工具建立第一个源码索引安装走预编译包最省事Windows 双击 setup.exemacOS 把 Sourcetrail.app 拖进 ApplicationsLinux 给 AppImage 加上执行权限后直接运行。想追最新特性就自己从源码编译git clone https://gitcode.com/GitHub_Trending/so/Sourcetrail.git cmake -S Sourcetrail -B build -DCMAKE_BUILD_TYPERelease cmake --build build -j4依赖方面Qt 5.12 和 Boost 1.67 是硬性要求C/C 索引器依赖 Clang编译时通过 CMake 开关BUILD_CXX_LANGUAGE_PACKAGE、BUILD_JAVA_LANGUAGE_PACKAGE、BUILD_PYTHON_LANGUAGE_PACKAGE决定打包哪些语言的索引能力。创建项目向导里四步走完启动后点New Project向导按语言分步给项目起名、选存放位置然后在Add Source Group里选项目类型——C/C 有 From Compilation Database、From Visual Studio、Create Empty 三种Java 有 Gradle、Maven、EmptyPython 只有 Empty。填完点Create。C 项目推荐选 Compilation Database 路线用 CMake 时打开CMAKE_EXPORT_COMPILE_COMMANDS用 Make 时用 Bear都能生成compile_commands.json里面的包含路径和编译参数会被直接利用比手动加头文件目录省心得多。等索引跑完项目建好后会弹窗问是否开始索引点Start。进度在索引对话框和底部状态栏都能看ESC 随时能中断——已收集的部分会保留之后刷新时接着补。跑完之后你就站在下面这张主工作界面里搜索框在上图在左代码在右。 用三个面板完成源码探索三个面板永远显示同一个当前选中符号的信息动一边其余跟着变。搜索框模糊匹配找到类定义在顶部搜索框输入tt自动补全列表里立刻出现TicTacToe类、它的构造函数、Run、Reset等方法右侧还标着每个结果的类型。匹配是模糊的跳过字符也没关系。点其中一项图形视图和代码视图会同时切换过去。依赖图怎么看懂默认颜色约定是固定的灰色节点是类型和类黄色是函数和方法蓝色是变量和字段边代表关系黄色箭头一般是调用灰色是类型使用蓝色是变量访问。类节点可以点开展开箭头上的数字告诉你还藏着几个成员节点能拖拽边可以点——点一条边代码视图会高亮对应的引用位置。如果某条边挤成一团会被合并成一条带数字的捆绑边。带斜纹阴影的节点是被使用但未在索引范围内定义的符号比如标准库函数点开只能看使用位置看不到声明。从类追到所有引用点选中一个符号后代码面板顶部显示 N references列表里每个文件标注各自包含几条引用展开能看到具体行。点某段代码里的引用选中状态跳过去再查它一层层就追到底。搜索框左侧的前进/后退按钮负责在跳转历史里来回走不用怕迷路。⚙️ 什么时候才需要动配置默认配置能跑通大多数场景只有下面几种情况值得动手C/C 工程用 CMake 或 Make 构建导出一份 JSON 编译数据库CMake 打开CMAKE_EXPORT_COMPILE_COMMANDSMake 用 Bear向导里选 From Compilation Database包含路径和编译参数自动就位。Java 工程用 Gradle 或 Maven对应向导入口会直接读你的构建配置不用手动配 classpath。项目太大索引慢Empty 类型的 Source Group 支持按文件后缀过滤把测试、生成代码目录排除掉索引到七成时按 ESC 先停够定位问题就先干回来再刷新补全。想彻底改行为再考虑源码编译上面那三个语言开关就是最常动的。 卡住了怎么办索引弹出一堆错误别慌已解析的部分照样可用。状态栏右侧的错误计数点开就是错误视图每行带文件、行号和消息点进去直达出错位置改完刷新即可。高分屏下界面发虚启动前设QT_SCALE_FACTOR1.2数值按屏幕自调。图太挤看不出结构CtrlHome 回到总览图或按文件、命名空间分组后再看。索引后没更新F5 刷新文件内容没变导致跳过了重索引时用 ShiftF5 强制刷新。 从一个小项目开始跑通别拿整个 monorepo 试手。挑一个几百文件以内的小工程——或者直接选仓库里自带的 TicTacToe 示例——点 New Project选 Empty 或编译数据库路线跑完第一次索引。然后做三件事搜一个你认识的类名点图中一条黄色的调用边在代码面板里展开一条引用。这三步走完搜索、图、代码三个面板的配合方式就记住了。高频快捷键记四个就够CtrlF 找符号、CtrlG 跳到定义、CtrlD 屏幕内查找、F5 刷新。想继续深入完整文档在 DOCUMENTATION.mdCMake 选项在 CMakeLists.txt各视图的行为还有现成的回归用例可以对照着看目录在 testing/。【免费下载链接】SourcetrailSourcetrail - free and open-source interactive source explorer项目地址: https://gitcode.com/GitHub_Trending/so/Sourcetrail创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表