一、 插件编写背景
通过近几年来对SharpDevelop的学习和研究,一直很感叹大师们对插件体系结构的灵活设计。有幸一年来,由于工作环境较以前轻松一些,故在工作之余,写了几个SharpDevelop插件,只可惜目前几个插件还不完善,打算在经过充分的测试后,将其源及本人目前收集的信息数据库(当然本人主要是收集关于程序设计方面的知识)放上来和所有的SharpDevelop爱好者一起分享、学习和研究。知识点管理器是我写的第一个SharpDevelop插件,目前的版本是2.0.2006.1103(2.0表示基于.NET Framework 2.0,完成时间是2006年11月3日),该版本的宿主程序是SharpDevelop2.0.1.1710。知识点管理器主要是提供对个人所需的知识、信息进行收集、总结、摸索的管理小工具。
二、 主体功能图示
(一) 支持信息超文本格式保存、编辑
主体信息采用超文本(RTF)格式保存在SQL Server数据库中,并支持信息内容的加密(主要用于个人信息,例如日记内容的加密)、压缩(图片信息不压缩保存进数据库会太大),可惜信息经这样处理后,就无法支持全文搜索了。
(图1 超文本格式信息)
(二) 支持动态脚本语言块运行
当前版本支持以下几种可直接运行的语言文本块,包括C#、VB.NET(其运行由SharpDevelop内置支持)、CodeSmith3.2模块文件(.cst)、T-SQL(.sql)、PL/SQL(.sql)等。PL/SQL(.sql)程序块的运行需要借助我的第二个插件块――Oracle 访问管理器(支持8i、9i、及10g,核心功能历时近一年已基本完成),T-SQL(.sql)的运行需要我的第三个插件块――SQL Server 访问管理器(近期内打算提供对SQL Server 2005的支持,只是现在本人越来越懒散了,加上最近又在研究SQL Server Management Studio中的IDE插件源,所以便一直担搁下来,也老早就想写一写关于.NET Framework 2.0类库中的设计模式学习心得,都一直没有动笔)。
(图2 支持的程序块语言)
下面是对CodeSmith3.2模块文件(.cst)的运行效果图示。
(图3 CodeSmith3.2模块文件(.cst)的运行效果)
下面是对SQL Server 2000版本的T-SQL(.sql)的运行效果图示。
(图4 T-SQL(.sql)的运行效果)
(三) 支持关健字模糊摸索
.大量信息经过整理收集以后,需要能快速地定位到相关信息。系统支持由信息标题、信息引用、所属模块(包括子模块递归)及多个关健字(之间用逗号分开)'与'或者'或'的关系查询。查询到相关信息后,双击某行信息,将自动跳转到该信息明细。
(图5 信息模糊搜索结果)
(四) 支持简单的爬网搜索与导入
我们每天几乎都在接触网络,通过网络传播有用的技术和信息给需要的人们。同样,网络也有大量有用的信息可供我们学习和参考,特别是一些优秀的技术名家Blog、Wiki、BBS,可以通过简单的爬网功能,将所需要的信息导入进知识库系统以供日后学习和收藏。
(图6 简单爬网搜索结果)
三、 数据库结构设计
……