Sublime配置Graphviz环境

一直觉得Graphviz很好,最近想试试。装上官方安装包之后,发现官方的gvedit不好用,而且字体不能调整大小,看着十分吃力,于是找其他工具。

连找了几个都不满意,最后还是决定用Sublime,网上使用sublime都提倡用某个插件,但大多用于Mac系统,在Windows下不能正常使用,后来看到可以用Sublime的构建系统

Sublime所谓的构建系统其实是调用现有的build命令,封装命令行的运行方式而已。构建系统可以通过外部程序来运行文件,并可以在Sublime查看输出。

构建系统一般包括三个部分:

  • 使用JSON格式保存配置文件 (.sublime-build 内容)
  • 使用Sublime Text命令来驱动构建过程
  • 还包括一个外部的可执行程序(脚本或者二进制)

Sublime Text命令从 .sublime-build 中读取配置数据,然后根据需要构建这些文件。 构建系统缺省会使用exec 命令,该命令在 Packages/Default/exec.py 中实现。

本例中,我们新建一个dot.sublime-build文件,构建命令是Tools-Build(快捷键为F7),需要事先选择Build System。Graphviz需要bin目录下的dot命令,这就是外部的可执行程序。dot.sublime-build文件的内容如下:

{ 
"working_dir": "$file_path", 
"cmd": "F:/Graphviz/bin/dot.exe -Tpng \"$file_name\" -o \"$file_base_name.png\"", 
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", 
}

working_dir:可选。在运行cmd前会切换到该目录。运行结束后会切换到原来的目录。
cmd:包括命令及其参数数组。如果不指定绝对路径,外部程序会在你系统的:const:PATH 环境变量中搜索。
file_regex:正则表达式。

$file_path:当前文件所在路径, 比如 C:\Files.
$file_name:当前文件的文件名, 比如 Chapter1.txt.
$file_base_name:当前文件仅包含文件名的部分, 比如 Document.

这个构建过程就是先切换到Graphviz创建的dot文件所在的目录,假设文件为test.dot,执行命令dot -Tpng test.dot -o test.png,然后会在同样目录生成文件test.png,这就是我们需要的图片,图片可以用Sublime打开,以后修改代码后再构建,图片会刷新。

同样道理,可以配置Python的构建文件如下:

{ 
"working_dir": "$file_path", 
"cmd": "python \"$file_name\" ", 
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", 
}

当然Sublime本身就有Python的Build System

参考: Sublime构建系统官方教程

你可能感兴趣的:(杂七杂八)