前段时间做个小项目需要用到一个代码编辑器控件,但网上搜了半天,居然没发现一个完全满意的编辑器。现有的一些编辑器有:
FastedTextBox
优点:1. 轻量。
2. 样式美观。
3. DEMO完整,文档丰富。
缺点:1. 不支持中文/中文字体显示难看
2. 代码折叠只能支持整行。
ICSharpCode.AvalonEdit
优点:功能强大,几乎完美,非常接近 VS
缺点:1. 使用 WPF 开发。
2. 在 WinForm 使用不大稳定,比如不能同时开两个窗口,图形错位。
3. 内存多。
QWhale.Editor
优点:1. 功能齐全。
2. DEMO完整。
缺点:1. 收费且无源码。
2. 界面难看。
Scintilla.Net
优点:1. 功能齐全。
缺点:使用 C++ 开发,难以控制。
以上编辑器没有一个完整支持以下特性:
1. 支持语法高亮/折叠/括号匹配/行号显示/显示特殊字符/智能TAB缩进。(所有编辑器都支持此功能)
2. 支持自动换行。(ICSharpCode.TextBox不支持)
3. 支持竖行选择。(只有 ICSharpCode.AvalonEdit 支持)
4. 完美支持中文输入法。(只有 ICSharpCode.AvalonEdit 支持)
5. 高性能。编辑 100000 行代码 和 1 行 100000 列代码无压力。滚动时不发生延时。
6. 轻量、启动速度快,依赖 DLL 少。
7. 支持书签、错误波浪线、单词拼写、智能提示。
8. API 和 文档丰富。
9. 支持滚动条缩略图。
10. 兼容更多系统。