实现代码突出显示

时间:2011-04-15 13:01:38

标签: c# .net-4.0 codehighlighter

我有一个面向堆栈的编程语言,我需要编写一个非常简单的编辑器,代码突出显示。最好使用RichTextBox

进行此类操作

我看过许多代码突出显示示例和演示,而且几乎所有代码都需要刷新整个RichTextBox OnTextChanged。这适用于较小的代码文件,即使是稍大的代码文件,如果滚动条正确重新定位,但文件越大,尝试编辑时的延迟就越大。

是更好的方式。显然,Visual Studio完美无瑕......

那么,我应该使用什么方法?

(伪代码甚至只是一般的概念布局都可以回答)

3 个答案:

答案 0 :(得分:3)

我强烈建议您使用开源ICSharpCode.TextEditor。这是一个非常丰富的文本编辑器,支持可自定义的语法高亮甚至智能感知。其他功能包括行号,错误突出显示,错误提示,代码块崩溃等。

使用它的应用程序示例如下:

答案 1 :(得分:2)

Scintilla用于a lot个不同的编辑器。 Notepad ++就是其中之一。

这是一个.Net包装器:http://scintillanet.codeplex.com/

enter image description here

答案 2 :(得分:1)

不确定你是否真的想写自己的,我使用AvalonEdit来自SharpDevelop的编辑器来做类似的事情,效果很好。这是WPF,但你没有说出你所使用的UI技术。您甚至可以在带有许可证的商业软件中使用它。

GJ