SynEdit 比任何其他文本编辑器组件都要快得多。请参阅此处的比较基准。
目前我正在为 Arduino 开发一个新的 IDE(官方的 IDE 缺少太多标准的 IDE 功能)来为 Arduino 社区做出贡献。由于我希望我的 IDE 在不依赖任何 VM 的情况下本机运行并且跨平台不是我的目标,所以我带着我的好朋友 Delphi 7 并搜索更新的 SynEdit VCL。有点令人失望的是它仍然没有非常重要的功能:代码折叠(您现在可以说是“标准代码编辑器功能”)。
但是经过一番搜索,我发现了一个基于 SynEdit 的后代项目,该项目具有代码折叠功能:Mystix(托管在 SourceForge)。你可以简单地用这个覆盖你以前的 SynEdit 源(没有新的 dpk 包要安装)。无论如何,它基于 SynEdit 2.0.1。
文档有点模糊(您必须彻底检查源代码才能了解如何正确使用它),但这里提示如何使用代码折叠功能:
SynEdit1.CodeFolding.FolderBarColor: = clDefault;
SynEdit1.CodeFolding.HighlighterFoldRegions: = False;
SynEdit1.CodeFolding.FoldRegions.Add(rtChar, False, False, True, '{', '}');
SynEdit1.CodeFolding.FoldRegions.Add(rtKeyword, False, False, True, '/*', '*/');
// and don't forget to initialize...
SynEdit1.InitCodeFolding;
// ... and enable it
SynEdit1.CodeFolding.Enabled: = True;
Mystix 在与 SynEdit (MPL) 相同的许可下发布。