我想制作自己的源代码编辑器,有哪些好的选择?

jok*_*oon 2 c++ qt scintilla notepad++ qtextedit

我已经拥有了那些从未提供过如下简单内容的数十个编辑器:

  • 区分类型关键字和指令关键字,以便我可以在其上添加不同的颜色.
  • 使用像qt gtk等标准GUI库交叉平台(记事本++,是的,我几乎讨厌你).
  • 足够的键盘快捷键,如重复行,注释选择和体面的查找替换.
  • 体面的任务缓和功能,如单击数字线边距以选择整条线.
  • Scintilla或其他足够强大的词法分析器可以突出显示不同的东西,因为大脑编译代码是一回事,很快就会发现眼睛什么是我觉得重要的东西.

我只想支持非常基本的语言,如C,C++,也许是Python,而不是HTML或CSS.

Scintilla是一个很好的选择,只是突出这些语言,并且是一个真正必要的词法分析器吗?

QT不足以编写一个文本编辑器,比如我想做的那个吗?我知道有QScintilla,但是有一个原因我不应该使用集成词法分析器的lib吗?为什么Scintilla这么好的lib?

QT是这样一个编辑的好选择吗?(我也想在编辑器中硬嵌入ProFont以消除操作系统之间任何不情愿的字体问题).

编辑:简而言之,我想制作一个编辑器,只有与notepad ++相同的语法高亮功能.这是我的主要目标,使用QScintilla可能比我想象的要困难一些......

编辑2:我发现textadept,它不是那么知名,但是非常棒.我没有设法制作我的词法分析器,因为我在Windows下做了其他的事情,不幸的是它在mac上很慢.显然,mac没有任何Scite官方版本.

Ski*_*ick 6

在任何想象中,C++都不是一种"非常基本的语言".

你为什么真的想这样做?那里有很多开源代码编辑器.

  • @gokoon:找到一个支持你需要的功能的编辑器,根据你的口味一劳永逸地配置它,**然后保存配置文件**会不会更容易?这样你就可以逃避,比如1小时的工作,而不是几个人年. (4认同)

Tho*_*ews 5

如果您必须编写自己的编辑器,我建议您查看其他开源编辑器并检查您将哪些部分移植到您的编辑器。

移植现有的工作和测试代码片段通常比编写自己的代码并调试它要好得多。

在仔细阅读了几个严肃的开源编辑器:Emacs、Eclips、CodeBlocks、CodeLight 等之后,我相信你会开始改变从头开始编写编辑器的想法。

——托马斯·马修斯
我的信息