3

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

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

一定有更好的方法显然,Visual Studio 完美地做到了...

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

(伪代码甚至只是一般概念布局都可以作为答案)

4

3 回答 3

3

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

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

于 2011-04-15T13:06:30.530 回答
2

Scintilla 用于许多不同的编辑器。记事本++就是其中之一。

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

在此处输入图像描述

于 2011-04-15T13:12:34.590 回答
1

不确定你是否真的想自己写,我使用了AvalonEdit ,来自SharpDevelop的编辑器, 用于类似的东西,效果很好。虽然它是 WPF,但您没有说您使用的是什么 UI 技术。您甚至可以在具有许可证的商业软件中使用它。

GJ

于 2011-04-15T13:10:41.967 回答