如何创建自定义文本编辑器

本文关键字:自定义 文本 文本编辑 编辑器 创建 何创建 | 更新日期: 2023-09-27 18:31:01

如何制作自定义文本编辑器?我正在考虑一个类似可视化工作室的编辑器,其中文本区域中可以显示文本以外的内容,例如下拉菜单、按钮图像等。

例如

这句话是__一个词。

我需要能够单击"__"并在其位置打开一个下拉列表或窗口,就像Visual Studio允许您选择类的功能并自动为您填充一些内容一样。据我所知,这在Windows窗体或wpf中无法实现。你会怎么做?我有 C#、C++ 和 Java 知识,并希望使其成为本机应用程序。

如何创建自定义文本编辑器

如果你想

用C++来做,你可以看看Notepad++的源代码。这是一个围绕Scintilla编辑组件编写的文本编辑器。它支持自动完成/制表符完成、函数参数提示等功能。听起来你想做类似的事情,所以我想说查看Notepad++的源代码将是一个很好的起点。

注意:如上面的一些评论所述,这是一种解决方法。还有其他像Scintilla这样的图书馆,还有其他方法可以做到这一点。这只是我想到的第一个。

好的,这里有一些其他的想法。您可以考虑使用 Eclipse 的文本编辑组件 (Java)。你也可以看看SharpDevelopment或MonoDevelop使用什么(C#)。环顾各种开源文本编辑器,看看它们是如何做到的。

我有一些开发文本编辑器的经验,想在这里分享。但是,我一直在Java上,但仍然可以帮助您做出决定。好吧,你还没有真正说你是否正在为任何现有语言或新语言制作文本编辑器。

我的文本编辑器用于自定义语言。因此,我必须编写语言的语法,然后才为此制作文本编辑器。为此,我使用了Xtext框架,该框架对于开发自定义语言和编辑器等工具非常有用。它对以下内容有很好的支持

i) 语法突出显示

ii) 带内容辅助的下拉按钮

iii) 优秀的Java集成

iv)出色的IDE支持,因为它可以作为eclipse插件安装。

但是,如果您只为纯文本编辑器执行此操作,则可能是矫枉过正!!!

Xtext官方文档