我已经拥有了几十个从不提供简单内容的编辑器,例如:
- 区分类型关键字和指令关键字,以便我可以在它们上放置不同的颜色。
- 跨平台使用像 qt gtk 等标准 GUI 库(记事本++,是的,我几乎恨你)。
- 足够的键盘快捷键,例如重复行、注释选择和不错的查找替换。
- 体面的任务缓和功能,例如单击数字行边距以选择整行。
- Scintilla 或其他足够好的词法分析器可以突出显示足够多的不同事物,因为大脑编译代码是一回事,用眼睛快速识别什么是我认为重要的事情。
我只想支持非常基本的语言,比如 C、C++,也许是 Python,而不是 HTML 或 CSS。
Scintilla 是突出显示这些语言的好选择吗,词法分析器真的有必要吗?
QT 还不足以编写我想做的文本编辑器吗?我知道有 QScintilla,但是有没有理由我不应该使用集成了 lexer 的库?为什么 Scintilla 是一个这么好的库?
QT 对于这样的编辑器是一个不错的选择吗?(我还想在编辑器中硬嵌入 ProFont 以消除操作系统之间的任何不情愿的字体问题)。
编辑:简而言之,我想做一个编辑器,只有notepad++的语法高亮功能。这是我的主要目标,QScintilla 的使用可能比我想象的要难一些......
EDIT2:好吧,我找到了textadept,它并不为人所知,但非常棒。我没有设法制作我的词法分析器,因为我在 Windows 下还有其他事情要做,不幸的是它在 mac 上很慢。显然 Mac 上没有任何 Scite 官方版本。