大家好,我是小麦,上一次的文章《一个超级实用的源码阅读小技巧》,我简单提到通过gcc
+egypt
+graphviz(dot)
这三个工具,快速生成函数调用图,总体来说也非常好用。
众所周知
VSCode
,Sorceinsight
非常好用, understand
相对小众,但也非常优质,不过需要收费。
在一位大佬的推荐下,我试了一下开源的代码编辑器sourcetrail
,确实别具一格。下面简单来分享一下。
官网地址:https://www.sourcetrail.com/
![](https://i-blog.csdnimg.cn/blog_migrate/c6c3dc6c23cea1f27c63bf532aa7b214.png)
sourcetrail
能够十分高效的帮助开发者去探索、熟悉陌生的代码,目前支持 C、C++、Python 和 Java 语言,同时提供了相关 SDK 用于拓展支持其它语言,相信在未来会提供更多语言的支持。
程序员在它的帮助下可以快速熟悉陌生项目、学习开源项目、框架等。这个神器,大家可以去试试。
目前这个项目已经开源了GitHub地址:
https://github.com/CoatiSoftware/Sourcetrail/releases
跨平台,支持 Windows、macOS、Linux 这三个系统;
下载地址:https:github.com/CoatiSoftware/Sourcetrail/releases
![](https://i-blog.csdnimg.cn/blog_migrate/81053412f4cf25ce3e5c7cdd2a6052da.png)
这里我下载的是安装包是Sourcetrail_2021_1_30_Windows_64bit_Installer.zip
,安装之后直接看效果图,感觉还是相当不错的。
![](https://i-blog.csdnimg.cn/blog_migrate/f207a791596a9ac353060c9e56decccb.png)
下面简单介绍下如何使用 sourcetrail 阅读源码,这里我以Linux-0.12
的源码为例,做一下简单的说明;
首先双击打开软件,界面如下,点击左侧的 New Project
创建项目
![](https://i-blog.csdnimg.cn/blog_migrate/a51fae1c2e50bbd5ea606a87bb315e87.png)
设置好项目名称,并把项目路径设定为Linux-0.12
的源码路径,如下图所示;
点击 Add Source Group
,在左侧的语言栏里选择C
语言,然后选择 Empty Java Source Group
:
如下图中的索引号,做一下简单介绍;
设置C标准,如图可以设置为C99;
可以设置交叉工具链;
添加源代码的相关文件;索引3是必须要配置的选项,1和2其实可以省略,添加完文件点击
Create
。
![](https://i-blog.csdnimg.cn/blog_migrate/9b9db660137e56433c738d7ede11292a.png)
选择 All Files, 点击 Start 按钮,然后耐心等待。
![](https://i-blog.csdnimg.cn/blog_migrate/50817041763967085d3087684a07a1da.png)
完成之后发现提示中出现了很多错误提示,忽略即可,这个完全不影响我们阅读源码。
![](https://i-blog.csdnimg.cn/blog_migrate/c52441e97619f4a26e44dd7de66c437a.png)
后面就可以愉快地阅读源代码了。
![](https://i-blog.csdnimg.cn/blog_migrate/138c22c65ae702c988446f8bde9de543.png)
![](https://i-blog.csdnimg.cn/blog_migrate/fe7f9feb5420b1def4e1e8c1ed95a91b.png)
项目中的符号都可以点击,支持来回跳转,还支持模糊搜索。
左侧源码结构非常清晰,对于熟悉陌生代码结构非常有用。
还可以与其他编辑器链接,比如:Atom, Clion, Eclipse, Emacs, IDEA 等等。
如果你还想挖掘更多的功能,可以参考一下官方文档。
https://www.sourcetrail.com/documentation/
工欲善其事必先利其器,后台回复【520】获取神器。
—— The End ——
推荐好文 点击蓝色字体即可跳转
☞ 硬核操作系统讲解
原创不易,欢迎转发、留言、点赞、分享给你的朋友,感谢您的支持!
长按识别二维码关注我
你点的每个好看,我都认真当成了喜欢