可视化目录的文件结构和文件内容

时间:2016-02-13 06:45:43

标签: file graphics

我感兴趣的是创建一个可以从命令行(pref.linux)运行的工具,它将搜索一组选定的文件(反过来认为.gitignore),解析这些文件,并创建一个看起来像的图像像这样Conceptboard。它不需要看起来那样,但我应该能够控制盒装元素的图形效果和布局。每个盒装元素应该只有顶部的文件名,以及下面文件的内容。

我的问题是:

  • 此类项目可以使用哪些工具?
  • 我会从哪里开始逻辑?
  • 我希望这会带我多久?

编辑:graphviz绝对可以使用,但是它能够显示文件内容吗?

1 个答案:

答案 0 :(得分:0)

Graphviz无法直接显示文件内容,但我经常将其与java或python中的代码相结合以构建相应的.dot文件,然后在该.dot文件上运行graphviz以生成最终图形,像这样的伪代码:

open .dot text file and add graphviz header information
for each file in directory:
   save filename for future reference
   read and save file contents

   create node in .dot file formatted with filename at top and contents below

for each file in directory:
   parse file to locate links to other files
   if filename has been processed above, add a link line to .dot output file
add graphviz footer to .dot file
run DOT on .dot file

最终的.dot文件看起来像这样,只有更长的时间:

digraph fileStructure {
    node [shape=box, color=black, fontsize=14, fillcolor=white, style=filled]
    1  [label="filename\nfile contents"]
    2  [label="filename\nfile contents"]
    3  [label="filename\nfile contents"]

    1 -> 2 
    1 -> 3 
}

有大多数主要编程语言的库可以简化创建.dot文件和运行graphviz的过程,但直接做起来并不难。

需要多长时间取决于你的技能水平,但我不认为这需要花费几个多小时才能完成。