1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Sourcetrailを使ってみたい(eclipseで)

Posted at

日々ソースコードとにらめっこしている皆さんこんにちは。
sourcetrailって知ってますか?僕は最近知りました。
エンジニアとして働き始めて3年ですが、一番大変で時間をかけているのはコードの解読です。
スクラッチでプロジェクトを作ることもあると思いますが、多くの場合はパッケージや過去資産の流用だと思います。
人の書いたソースコードはいくら可読性があっても、膨大だと読み解くのが難しいです。
そんなソースコードの可視化して生産性向上を手助けしてくれるツールsourcetrailがオープンソース化したということで早速使ってみたいと思います。
また、eclipseのプラグインがあるとのことなので導入します。

#環境
・Ubuntu18.04
・eclipse2019-12
#インストール
##sourcetrail
公式サイトからダウンロードします。
MAC、Windows、LinuxそれぞれのOSに対してインストールが可能です。
Linuxの場合圧縮ファイルがインストールされるので、任意のディレクトリへ解凍しinstall.shを実行すると完了します。
##eclipseプラグイン
Githubに本体はあります。
eclipseで"Help" -> "Install New Software..."でWork with:へ(http://CoatiSoftware.github.io/eSourcetrail/updatesite)
と入力します。


eSourcetrailというプラグインをインストールしてeclipseを再起動します。

#プロジェクト
Linuxでの実行はSourcetrailのフォルダで./Sourcetrail.shシェルを実行します。
左下の"New Project"をクリックし、Sourcetrail Project Nameへ適当な名前、Sourcetrail Project Locationへ適当なディレクトリを入れます。
今回はEmpty C++ Source Groupを選びます。

"C++ Standard"へC++の実行環境を選択し
"File & Directories to index"へ可視化したいソースのあるディレクトリを追加します。
"ExInclude Files & Directories"へは追加したくないものを追加します。(あまり使わなさそう)
"Include Paths"は書いてある通りコンパイルするときの-I以降のやつですね。
"Compiler Flags"コンパイルフラグなども設定できます。
一通り設定したら"Create"でプロジェクトが作られます。
ちなみにこの設定はいつでも"Edit Project..."で編集できます。

こんな画面ができ、

こんな感じで可視化されます。

ちなみにeclipseのプラグインはというと、

右クリックすると"eSourcetrail" -> "Send Location to Sourcetrail"が出てきます。
使い方は、デバッグで実行してブレイクポイントをで止めたときに"Send Location to Sourcetrail"を実行します。
Sourcetrailのプロジェクトで現在実行されているコードの部分が表示され、前後の依存関係が可視化されます。

#おわり
とっても簡単にソースコードが可視化されました。
sourcetrailの作者さんは自身のソフトウェアプロジェクトをもっと生産的にするために作ったらしいですが、とてもありがたいです。(オープンソース化に大感謝!)

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?