初心者向け

【Sourcetrail】ソースコードを可視化する(VScodeと連携させる)

【※ 当記事は2020年7月7日時点の情報です】

ペイヴメント(@pavement1234)です

エンジニア
エンジニア

ソースコードを可視化するツールを知りたい

できればVSCODEと連携したい

こんな悩みを解決します

バージョン情報

Windows10 Home(64bit)1903

Visual Studio Code 1.47.0

sourcetrail 0.0.2(VSCODEプラグイン)

Sourcetrail Version 2020.2.43

SourceTrailとは?

今回オープンソースのソースコード可視化ツールSourceTrailをご紹介します。無料で使うことが可能です

SourceTrailを使うことで実現できる機能は以下の通り

  1. C/C++、Java、Pythonのソースコードを可視化できる
  2. VSCODEと連携させることが可能
  3. VSCODEと連携させた場合、VSCODEで関数を選択すると、SourceTrailでも同じ関数が選択されるという便利機能が使える

続いて、SourceTrailのインストール、プログラムのIndex化、VSCODE連携をご紹介します

SourceTrailのインストール

①ダウンロードページに行く

≫SourceTrail

②インストーラをダウンロード

「Download」を押す

 Windows版のインストーラ(ZIP)をファイル名を付けて保存

ダウンロードしたZIPファイルを右クリックして「全て展開」を選ぶ

③インストールを実行

sousetrail.msiをダブルクリック。デフォルトのまま「Next」「Install」「Finish」を押していくとインストールは終わる

Index化①:テストプログラムを作っておく

テキストエディタに以下のプログラムを打ち込み「C:\temp\test\test.c」に保存する

 

Index化②:SourceTrailを実行しプログラムをIndex化する

①プログラム起動

スタートメニューから以下のアイコンをクリック

起動直後はこんな感じ

②プロジェクト作成

メニューから「Project」→「New Project」をクリック

Sourcetrail Project Name:test

Source Project Location:C:\temp\test

上記を入力後「Add Source Group」ボタンをクリック

「C」→「Empty C Source Group」をクリック

「Files &Directories to Index」の「+」をクリック。「…」をクリックして先ほど作成した「C:\temp\test\test.c」を選択。最後に「Create」をクリック

「Start」をクリック

解析完了。「OK」をクリック

例えば「Functions」をクリック

関数が表示されるので「Sub」をクリック

「Sub」を中心としたCall Stackが表示された

ここまででプログラムのIndex化ができました

次の項でVSCODEと連携させるので、SourceTrailを立ち上げたままにしておきます

SourceTrailとVSCODEを連携

①VSCODEを立ち上げる

VSCODEのインストールがまだの方はこちらを参考にインストールと日本語化を実施してください

≫【VSCode】日本語化とHTML+CSS+JavaScript開発環境構築ノウハウ

②SourceTrailのプラグインをインストール

左のツールバーから「拡張機能」をクリック。検索窓に「sourcetrail」を入力し「インストール」をクリック

歯車みたいなアイコンをクリックし「Extension Settings」をクリック

「Sourcetrail: Start Server At Startup」をONにします。これでVSCODE起動時にSourcetrailと自動連携できます

メニューから「ファイル」→「フォルダーを開く」をクリックし「C:\temp\test」を選ぶ

「test.c」をクリック。「subsub」を選択した状態で右クリックし「Sourcetrail: Send Location」をクリック

するとSourceTrail側も「subsub」が選ばれました。今回のサンプルは規模が小さいのでメリットをあまり感じないかもしれませんが、規模が大きいプログラムを解析するのは骨が折れます。SourcetrailとVSCODEを連携させて解析効率を上げましょう

まとめ

SourceTrailのインストール方法、プログラムのインデックス化、VSCODEとの連携をご紹介しました。巨大プロジェクトに適用するとすごく便利そうですね

1点注意がありますが大規模プロジェクトのIndex作成にはかなり時間がかかる様子 時間の余裕を持ってTRYしてみてください

 

 

ABOUT ME
ペイヴメント
ペイヴメントのエンジニア塾(当ブログ)では20年以上の経験から得られたプログラミング系ノウハウについてベテランにも満足して頂けるような内容の濃いコンテンツを初心者にも分かりやすい形で日々発信しています。【経歴】ベンチャーのソフトハウスで4年勤務後、精密機器メーカーのソフト開発部門に勤務し今に至ります。
error: Content is protected !!