跨平台代码阅读器-Sourcetrail

 

Sourcetrail是一款免费开源、跨平台的可视化源码阅读软件,遵守GPL开源协议。支持Windows和Linux操作系统。支持语言包括: C、C++、Python 和 Java 语言等。不同于其他代码编辑器的导航栏,Sourcetrail左边使用图形直观地表示了调用上游和下游,类成员列表等细节,深入静态分析发现源文件中的所有定义和引用。支持快速搜索字段找到整个代码库中的任何符号,支持模糊关键字匹配搜索。支持多个源代码编辑器之间的插件连接,方便地在编码和阅读代码之间切换。

[repo owner=”CoatiSoftware” name=”Sourcetrail”]

-----------------------------------------------------------

Sourcetrail - free and open-source interactive source explorer

www.sourcetrail.com/

Sourcetrail is a free and open-source cross-platform source explorer that helps you get productive on unfamiliar source code.

Windows: Build status

Linux: Build Status

Links

Sourcetrail is:

  • free
  • working offline
  • operating on Windows, macOS and Linux
  • supporting C, C++, Java and Python
  • offering an SDK (SourcetrailDB) to write custom language extensions

Sourcetrail on Patreon

The open-source development and regular software releases are made possible entirely by the support of these awesome patrons!

Using Sourcetrail

To setup Sourcetrail on your machine, you can either download the respective build for your operating system from our list of Releases and install it on your machine, or use one of the following package managers:

After your installation is complete, follow our Quick Start Guide to get to know Sourcetrail.

  • If you are looking for more information about Sourcetrail software development, please refer to our wiki.

How to Build

Building Sourcetrail requires several dependencies to be in place on your machine. However, our CMake based setup allows to disable indexing support for specific languages which reduces the number of dependencies to a minimum.

Building the Base Application

Required Tools

  • CMake v3.12 (required for Windows, Linux and MacOS)

  • Git (required for Windows, Linux and MacOS)

    • Reason: Used for version control and to automatically generate the Sourcetrail version number from commits and tags
    • Download: https://git-scm.com/download
    • Remarks: Make sure git is added to your PATH environment variable before running CMake
  • Visual Studio (required for Windows)

  • ccache (optional for Linux and MacOS)

Required dependencies

  • Boost 1.67

    • Reason: Used for file system access and interprocess communication
    • Prebuilt Download for Windows: https://sourceforge.net/projects/boost/files/boost-binaries/
    • Building for Unix:
      $ ./bootstrap.sh --with-libraries=filesystem,program_options,system,date_time
      $ ./b2 --link=static --variant=release --threading=multi --runtime-link=static --cxxflags=-fPIC
      
  • Qt 5.12.3

Building

On Windows

  • To set up your build environment run:

    $ git clone https://github.com/CoatiSoftware/Sourcetrail.git
    $ cd Sourcetrail
    $ mkdir -p build/win64
    $ cd build/win64
    $ cmake -G "Visual Studio 15 2017 Win64" -DBOOST_ROOT=<path/to/boost_1_67_0> -DQt5_DIR=<path/to/Qt/version/platform/compiler/lib/cmake/Qt5> ../..
    

    Hint: If you are using the CMake GUI, we recommend that you activate advanced mode. Also you may be required to add some of the defines via the "Add Entry" button.

  • After generating the build configuration, just open the Sourcetrail.sln file that was generated by CMake and build the Sourcetrail project.

On Unix

  • To set up your build environment run:
    $ cd Sourcetrail
    $ mkdir -p build/Release
    $ cd build/Release
    $ cmake -DCMAKE_BUILD_TYPE="Release" -DBOOST_ROOT=<path/to/boost_1_67_0> -DQt5_DIR=<path/to/Qt/version/platform/compiler/lib/cmake/Qt5> ../..
    
  • Now start the build with:
    $ make Sourcetrail
    

Running

  • Run Sourcetrail from within the build directory. During execution Sourcetrail needs resources from bin/app/data and bin/app/user. CMake creates symlinks within the build directory that make these directories accessible.

Enable C/C++ Language Support

Required dependencies

  • LLVM/Clang 11.0.0
    • Reason: Used for running the preprocessor on the indexed source code, building and traversing an Abstract Syntax Tree and generating error messages.
    • Building: Make sure to check out the correct tag: git checkout llvmorg-11.0.0
    • Building for Windows: Follow these steps to build the project. Run the cmake command exactly as described.
    • Building for Unix: Follow this installation guide to build the project. Make sure to build with -DLLVM_ENABLE_RTTI=ON.

Building

  • Run CMake with these additional options:
    -DClang_DIR=<path/to/llvm_build>/lib/cmake/clang
    -DBUILD_CXX_LANGUAGE_PACKAGE=ON
    
  • Build Sourcetrail as described above.

Enable Java Language Support

Required dependencies

  • JDK 1.8

    • Reason: Used to build the Java indexer and make it callable from the C++ code via JNI.
    • Remarks: Make sure that <jdk_root>/bin is available in your PATH environment variable and that the JAVA_HOME environment variable is set:
      JAVA_HOME=<path/to/Java>/jdk1.x.x_xxx
      
  • Maven

    • REASON: Used within Sourcetrail's automated tests.
    • Remarks: Make sure .../apache-maven-x.x.x/bin is available in your PATH environment variable and that both M2_HOME and MAVEN_HOME environment variables are set:
      M2_HOME=.../apache-maven-x.x.x
      MAVEN_HOME=.../apache-maven-x.x.x
      

Building

  • Run CMake with these additional options:
    -DBUILD_JAVA_LANGUAGE_PACKAGE=ON
    
  • Build Sourcetrail as described above.

Enable Python Language Support

Required Tools

  • 7z (required for Windows)
    • REASON: Used to extract the prebuilt SourcetrailPythonIndexer which is downloaded automatically during build execution.

Building

  • Run CMake with these additional options:
    -DBUILD_PYTHON_LANGUAGE_PACKAGE=ON
    
  • Build Sourcetrail as described above.

Creating the deployment Package

Windows

Required Tools

  • Visual Studio (required for Windows)

  • Wix 3.11

    • Reason: Used to build the sourcetrail.msi Windows installer.
    • Remarks: Make sure to add <path/to>/WiX Toolset v3.11/bin to your PATH environment variable.
    • Download: https://wixtoolset.org/releases/
  • Wix extension for Visual Studio

  • JRE

    • Reason: Used for indexing the java sample project that ships with the package.
  • WinRAR

    • Reason: Used for creating the final zip files for the installer and the portable package.
    • Remarks: Make sure to add <path/to>/WinRAR to your PATH environment variable.

Building

  • Run ./script/deploy_windows.sh from your Developer Command Prompt for Visual Studio. The script which will generate a 64bit build and packages it into a portable .zip file and a Wix-based Windows installer, each.

macOS

After building, run the bundle_install.sh script within the build directory which will create a Sourcetrail.app bundle and generate a Sourcetrail_<version>.dmg container.

Linux

Run ./setup/Linux/createPackages.sh from the main directory, which creates both a .tar.gz and a .AppImage package in the main directory. Packaging depends on linuxdeployqt.

How to Run the Tests

The automated test suite of Sourcetrail is powered by Catch2. To run the tests, simply execute the Sourcetrail_test binary. Before executing, please make sure to set the working directory to ./bin/test.

from 

https://github.com/CoatiSoftware/Sourcetrail

(https://github.com/CoatiSoftware/Sourcetrail/blob/master/DOCUMENTATION.md#getting-started)