Read the source code of many tools, today to recommend a unique source reading artifact.

It is Sourcetrail, a free, open source, cross-platform visual source code exploration project.

Look directly at the renderings:

Above is an interface where I read okHTTP source code. Unlike the navigation bar of other code editors, the left side uses graphics to visually represent the details of calling upstream and downstream, class member lists, and so on, making it easy to understand the structure of the source code.

Currently C, C++, Python and Java are supported, and SDKS are provided to extend support for other languages. It is believed that more languages will be supported in the future.

Official website address:

https://www.sourcetrail.com/

Currently open source:

https://github.com/CoatiSoftware/Sourcetrail

Support Windows, macOS, Linux platforms, download:

https://github.com/CoatiSoftware/Sourcetrail/releases

Here’s how to use SourceTrail to read the source code, using okHTTP as an example:

First, open the interface as follows and click New Project on the left to create the Project

Select the pre-downloaded okHTTP source folder

Click Add Source Group and select Empty Java Source Group:

Click Next to go to the following screen and click steps 1 and 2 to specify the index file:

After clicking Next, the following screen appears. Click the Create button:

Select All Files, click the Start button to Start indexing, and wait for a while.

Error is normal, because there are many files in the source can not be found, does not affect the reading of the source code.

Click OK after indexing to start reading the source code.

Symbols in the project can be clicked, support to jump back and forth, and support fuzzy search. The left source code structure is very clear and useful for familiarizing yourself with unfamiliar code structures.

You can also link with other editors, such as Atom, Clion, Eclipse, Emacs, IntelliJ IDEA, and more.

More features can be found in the official documentation:

https://www.sourcetrail.com/documentation/

Generally not specifically recommended, a recommendation must be a sharp weapon. Try it out.

scan