ICSharpCode.TextEditor使用及扩展

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

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。

先说说它的用法:

1:将ICSharpCode.TextEditor.dll添加到工具箱中,然后拖到界面上。

2:设置如下属性(例):

textEditorControl1.ShowEOLMarkers = false;
textEditorControl1.ShowHRuler = false;
textEditorControl1.ShowInvalidLines = false;
textEditorControl1.ShowMatchingBracket = true;
textEditorControl1.ShowSpaces = false;
textEditorControl1.ShowTabs = false;
textEditorControl1.ShowVRuler = false;
textEditorControl1.AllowCaretBeyondEOL = false;
textEditorControl1.Document.HighlightingStrategy = HighlightingStrategyFactory.CreateHighlightingStrategy("HTML");
textEditorControl1.Encoding = Encoding.GetEncoding("GB2312");
3:指定内容文本
textEditorControl1.Text = "Hello World!"

 

再来说说他的扩展:

 官方原版的是不支持T-SQL语法的,我们让他支持T-SQL语法

下载http://files.cnblogs.com/wudingfeng/ICSharpCode.TextEditor_V3.0.rar

里面有一个TSQL-Mode.xshd文件,作为资源添加到项目中,然后修改SyntaxModes.xml文件,添加一行

 

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

 

然后再编译整个项目即可生成支持T-SQL的ICSharpCode.TextEditor.

 

下载最新SharpDevelop

 http://www.icsharpcode.com/OpenSource/SD/Download/

目录
相关文章
|
前端开发 C# 数据安全/隐私保护
ApeForms | C# - WinForm临时对话框(消息框、提示框、输入框、密码框、单选框、多选框等)
ApeForms一款基于WinForm实现的开源免费商用的UI库,其中提供了一套便于用户交互的临时对话框组件(Dialog),可用于快速创建开发中常见的交互对话框,例如:消息框、提示框、输入框、单选框、多选框等。 ApeFree.ApeDialogs并不是一个包含Dialog实现的UI库,而是一套Dialog标准(提供了一套临时弹出对话框的实现标准)。 Dialog是界面开发过程中必不可少的组件,无论是桌面开发、Web前端开发、移动端开发,甚至命令行应用程序中的一次“Yes or No”的输入都可以看做是一次Dialog弹框。
1103 0
ApeForms | C# - WinForm临时对话框(消息框、提示框、输入框、密码框、单选框、多选框等)
|
机器学习/深度学习 安全 算法
安全多方计算之三:同态加密
安全多方计算之三:同态加密
3112 42
|
设计模式 测试技术 Python
《手把手教你》系列基础篇(九十二)-java+ selenium自动化测试-框架设计基础-POM设计模式简介(详解教程)
【7月更文挑战第10天】Page Object Model (POM)是Selenium自动化测试中的设计模式,用于提高代码的可读性和维护性。POM将每个页面表示为一个类,封装元素定位和交互操作,使得测试脚本与页面元素分离。当页面元素改变时,只需更新对应页面类,减少了脚本的重复工作和维护复杂度,有利于团队协作。POM通过创建页面对象,管理页面元素集合,将业务逻辑与元素定位解耦合,增强了代码的复用性。示例展示了不使用POM时,脚本直接混杂了元素定位和业务逻辑,而POM则能解决这一问题。
561 6
|
关系型数据库 MySQL 数据库
上手体验 PolarDB-X 数据库
PolarDB-X,一款高性能云原生分布式数据库。
1046 2
|
JavaScript 前端开发 编译器
Vue 3:新特性与改进技术详解
【4月更文挑战第25天】Vue 3 提升了编译和运行时性能,引入了Composition API实现灵活代码复用,新增Teleport用于任意位置渲染,支持Fragment多根节点及Suspense处理异步组件。同时,TypeScript支持增强,自定义指令和全局API也得到优化。Vue 3的新特性旨在提供更高效、灵活的开发体验,持续引领前端技术发展。
|
SQL JSON 前端开发
中台框架模块开发实践-用 Admin.Core 代码生成器生成通用代码生成器的模块代码
可以看到这里只生成了后端接口,目前 v8.2.0 还不支持前端代码的生成,所以我们还需要手动去将对应版本的 前端代码 下载一份到项目中(只保留),并调整下目录结构,前端代码放到 admin-ui ,后端代码放到 admin-api 运行前后端项目,确认项目运行没问题后开始添加通用代码生成器模块代码。后续任意模块代码都可以参考步骤 1.后端项目引用关系配置 • 将生成的模块代码 ZhonTai.Module.Dev 拷贝到在新项目中 修改库中的引用,默认生成的 ZhonTai.Module.Dev.csproj 引用是相对源码的路径 • 所以需要修改下,直接引用 ZhonTai.Admin 的包
599 0
|
Linux C++
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found问题解决方法
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found问题解决方法
3900 0
[Halcon&几何] 直线的垂线与延长线的计算
[Halcon&几何] 直线的垂线与延长线的计算
934 1
|
XML Java Maven
Maven 生成可运行的jar的多种方式
Maven 生成可运行的jar的多种方式
839 0
Maven 生成可运行的jar的多种方式
Halcon 学习笔记二:简单blob分析
Halcon 学习笔记二:简单blob分析
1075 0