■ プロジェクト 可視化機能

下図の様に、プロジェクトに含まれるファイル群を可視化し、プロジェクトの全体像を容易に把握できるようにしました (注:下図は nvi 1.79 のソース群を可視化したものです。)。
プロジェクトビューで「Visualize」タブをクリックすると、可視化されたグラフが表示されます。

■ グラフの見方

背景がピンクのノードはディレクトリです。ディレクトリ内のファイルノードはディレクトリノードの近辺に配置されます。 赤いバーはファイルサイズを表します(高さがファイルサイズの平方根に比例)。
ファイルタイプが "CPP" の場合、#include "ファイル名" 部分を解析し、インクルード関係を矢印で表します。
ファイルノードの左上の小さな数字はインクルード依存レベルを表します。循環依存している場合は "?" となります。

ファイルノードは、ファイルの更新日付により指定色で描画されます。
デフォルトでは赤は24時間以内に、黄色は1週間以内に、緑は4週間以内に更新されたファイルを表します。
背景色が灰色のものはファイルが存在しないことを表します。
背景色が黒のものはプロジェクトに含まれないファイルであることを表します。

依存レベルに主眼を置いてプロジェクトを見たい場合は、設定ダイアログで「インクルード力」をONにするとよいでしょう。 下図の様にインクルード依存を考慮した(できるだけインクルードしているファイルが上に、被インクルードファイルが下に)配置となります。

■ 操作方法

ビュー上部の【位置更新】を押すと、力学モデルに従って、ノード位置を更新します。
【再読込】を押すと、インクルード解析を行い、ノード位置をランダムに配置し直します。

ファイルノードをダブルクリックすることで、そのファイルを ViVi で開くことができます。

ノードをマウスクリック&ドラッグして移動することができます。
ノード以外の部分でマウス左ボタンを押すと、ポインタが手のひらに代わり、ドラッグするとスクロールすることができます。
マウスのホイールを上に回すと拡大、下に回すと縮小表示します。

動画(下の画像をクリックすると動画が再生されます):

■ 設定方法

設定ダイアログで、高品位描画を行うかどうか、ファイルサイズバーを表示するかどうか、グラフ描画色、各種定数を設定することができます。

下図は高品位描画をONにした場合です。GDI+ を使用して描画を行うことで、直線をアンチエイリアスし、ファイルサイズバーとノードの影を半透明にします。 画像は綺麗になりますが、ファイル数が多い場合の位置更新処理が非常に重くなることがあります。