编程之路

——火地晋

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  291 随笔 :: 2 文章 :: 297 评论 :: 134万 阅读

http://blog.donews.com/shanyou/archive/2005/07/24/478485.aspx

 

SharpDevelop (#develop)有很多“副产品”,其中最出名的应算SharpZipLib (#ziplib),纯C#的ZIP类库,而在SharpDevelop (#develop)中,“隐藏”了很多优秀的类库,其中ICSharpCode.TextEditor是表表者。

ICSharpCode.TextEditor源代码隐匿在\SharpDevelop\src\Libraries\ICSharpCode.TextEditor中,可以利用SharpDevelop (#develop)打开ICSharpCode.TextEditor.cmbx,也可以看看其例子(\SharpDevelop\samples\SharpPad中)SharpPad.cmbx。

我在简便的MS SQL 数据库 表内容 脚本 生成器,支持多级关联(含源代码)(更新:重购代码、添加对NVARCHAR的特别支持、结果保存、SQL语法高亮)中提及,需要实现T-SQL的语法高亮,但ICsharpCode官方没有包含对T-SQL的支持。

于是我想到,既然是开源,而且公开了格式,应该会有开发人员有和我一样的需求,会写出一个T-SQL的语法高亮文件(tsql-mode.xshd),连这个文件名称我都是猜出来的,因为我分析了ICSharpCode.TextEditor的语法文件命名规则后,推导出来的,然后google一下,还竟然有,在http://www.imhoproject.org/plugins.aspxhttp://imhoproject.org/download/TSQL-Mode.zip;下载完该文件,添加到SharpDevelop (#develop)的源代码(\SharpDevelop\src\Libraries\ICSharpCode.TextEditor中),作为资源编译,但编译之前先修改SyntaxModes.xml文件,在最后添加如下内容:

 <Mode file       = "TSQL-Mode.xshd"
       name       = "TSQL"
       extensions = ".sql"/>

然后编译出ICSharpCode.TextEditor.dll,引用之。

ICSharpCode.TextEditor优点:
1、具备优秀的文本编辑器的大部分功能;

2、扩展性高:可任意扩展为对任何新文件格式/语法的支持;

3、高效:其语法高亮速度非常非常快,无论文件有多膨大。我曾经用一个6M的SQL文件进行测试,某个语法高亮工具崩溃了,ICSharpCode.TextEditor却在瞬间内完成了工作


可能会有朋友需要直接的源代码,所以我特别创建了VS.NET2003的解决方案,打包上传了,方便大家。

点击这里下载:ICSharpCode.TextEditor.zip(链接已修复)

http://www.cnblogs.com/unruledboy/archive/2005/07/19/TSQLSyntaxHighlight.html

 

posted on   火地晋  阅读(3515)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示