読者です 読者をやめる 読者になる 読者になる

謎言語使いの徒然

適当に気になった技術や言語を流すブログ。

Graphviz の特定用途向けフロントエンド作ってみた

.NET OSS Tips

仕事で、仕様書を読む必要があったのだが、やたらと種類があるだけでなく、ディレクトリ階層もよく分からない。
挙句、ファイル名が処理コードなので、名前から関連性が分からない。

そんな状況に嫌気が差して、ファイル間の繋がりを記録しておくものが欲しくなった。
ここから以下の順に思考。

  • ものが Excel だったり他ファイルだったり統一性がないから、ある程度手動になるのはあきらめる。
  • MindMap ツールでは、中央のコアが邪魔。系統が別の場合とかも接続したくはない。
  • 何かよさ気なツールは大体販売もの。金は出したくないというか、多分会社が出してくれない。
  • そもそもファイル間の連携図が欲しいので、グラフ上にファイル名列挙が面倒すぎる。数百もドローしてらんない。
  • 作るしかなくね?でもグラフ作画なんて死ぬほどだるい。
  • Graphviz(http://www.graphviz.org/)というのが何かよさげ。グラフ作画用のソースコードをコンパイルするってことは、コンパイラに食わすソースを生成できればいい。

ので作ってみた。

http://www.white-azalea.net/FileGraphvixFrontend.zip

VisualStudio2010(でも .NET 3.5)オープンソースというには何か味気ないけど好きにして。
使い方メモ。

  1. 起動する
  2. 画面右の「DropFiles」に適当なファイルをドロップ
  3. 基点(矢印の元)にしたいファイルを「Filenames」タブの中から選ぶ
  4. 接続したいファイルを「DropFiles」にドロップ
  5. 適当に繰り返す。
  6. 「Filenames」タブの「AliasName」を図で表示して欲しい名前に変更
  7. 「OutputDot」ボタンで「result.dot」ファイルを吐く。
  8. お好みに合わせて「result.dot」を弄る。
  9. Graphviz でソースをコンパイルする。

Save/Load はそのままの意味。
Directory タブの AliasName 弄っても図に反映されないのは仕様。
ドラッグ& ドロップのエリアが狭いのも意図してる。直す気はない。