首页 > 代码库 > 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函数开始写出来的。想想那些高度灵活优雅的界面,丰富的功能,灵活的配置,没有坚实的编程功底,如何能够实现的出来。