首页 > 代码库 > source insight——编码工具中的一朵奇葩

source insight——编码工具中的一朵奇葩

source insight是一款非常优秀的源代码编辑/浏览软件。本文从以下几个方面随便说说他的优秀之处。

逻辑上可能有点乱,表述上也可能有不准确的地方。另外,也难以将source insight的好处说全。

一、圆满的设计+圆满的实现

这是对此软件的总体评论。

从source insight官方网站(http://www.sourceinsight.com/)上可以看到,

目前此软件的最新版本是 3.5.0072,编译日期为2013年3月19日。至此,3.5版本至少已经维护了10年以上。

在十年之中,没有引入大功能,基本都是修改bug,或做一点小的维护。以下的URL列出了3.5版本的维护历史。

http://www.sourceinsight.com/changes.html

如果没有圆满的设计+圆满的实现,恐怕十年之内,早就被其他的同类软件给代替了吧。


二、简明易懂的总体思路

source insight中,project是源码维护的基本单位。

在一个project中,最基础的数据是一组源文件的列表。

source insight以这一组文件为基础,整理出源文件内部的各种联系,如变量/函数的定义与引用等。

然后,通过优秀的图形界面,将这些信息提供给用户,大大便利用户对代码的理解与操作。


三、优秀的界面

该软件属于多文档的程序,可以同时打开多个源代码文件。

其界面如下图所示:


用户界面的中部,显示的是源代码。代码显示视图,提供了相当丰富的与代码编辑/浏览相关的功能特性(例如,程序语言的不同元素,可以显示为不同的字体、大小、颜色。当然,也可以根据设置,显示为用户想要的效果),这里就不叙述了。

代码显示区域的左边是符号窗口,左边是project窗口,下面是context窗口。

符号窗口,project窗口,context窗口,均为多属性页的窗口。相当于,将同一主题的不同方面,放在了不同的属性页中。可谓是功能丰富,界面简洁而不臃肿。

以下几项设计,则让用户能够对界面充分进行控制。

符号窗口,project窗口,context窗口,均是可动态显示及隐藏的窗口。

符号窗口,project窗口,context窗口,均可以在屏幕上按照类似于splitter的方式调整大小。

project窗口,context窗口,通过拖动,还可以docking到别的位置。


四、丰富的语言种类支持

c/c++, c#, vb, perl, java, python, javascript, html, xml ...


五、高度的可配置性

菜单可配置,源码显示风格可配置,语言特性可配置,快捷键可配置...... 

可配置性真是太强了


六、坚实的编程技术功底

这么丰富的功能,整个安装包,才几M大。因此,可以猜测此软件多半是使用纯C语言,从WinMain函数开始写出来的。想想那些高度灵活优雅的界面,丰富的功能,灵活的配置,没有坚实的编程功底,如何能够实现的出来。