什么是最新的SynEdit版本或克隆?

时间:2010-12-22 02:00:20

标签: delphi synedit

我没有使用synEdit一段时间,但今天我发现我需要一个好的编辑器来支持脚本。当我去下载synEdit(我的思想已经及时冻结为“确定的事情”)时,我发现原作者已经放弃了它。我知道FreePascal有一个synEdit版本 - 我听说有一个更近期的unicode版本“某处” - 但我在哪里可以得到最新最好的版本?

如果可能的话,我更喜欢unicode支持,但更重要的是支持动态样式(能够添加令牌以强调下划线关键字,有点像Delphi在你访问你刚输入的类的变量时所做的那样)。 p>

4 个答案:

答案 0 :(得分:5)

http://synedit.sourceforge.net有一个指向Unicode版本的链接。

答案 1 :(得分:4)

SynEdit比任何其他文本编辑器组件快得多。请参阅the comparison benchmark here

目前,我正在为Arduino开发一个新的IDE(官方的IDE缺乏太多的标准IDE功能),以便为Arduino社区做出贡献。因为我希望我的IDE能够在不依赖任何虚拟机的情况下本地运行,而且跨平台不是我的目标,所以我带着我的朋友Delphi 7并搜索更新的SynEdit VCL。稍微失望的是它仍然没有非常重要的特征:代码折叠(现在可以说是“标准代码编辑器功能”)。

但经过一番搜索之后,我发现了一个基于SynEdit的后代项目,它的功能代码折叠为:Mystix (hosted at 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)相同的许可下发布的。

答案 2 :(得分:0)

我强烈建议使用Scintilla。它具有您正在寻找的所有功能。它比SynEdit更有能力和成熟。 SynEdit的发展在最后的酵母中减少到几乎停滞。 Scintilla的唯一问题是没有人更新与之绑定的Delphi代码。 SourceForge项目不再处于活动状态。您可以在以下URL中找到Delphi代码:

Borland Delphi control wrapper for ScintillaDelphi Components

后者包含最新的代码。更新它以添加Scintilla的最新功能并不困难。

答案 3 :(得分:0)

我不会在当前答案中使用该链接,因为该链接最近没有更新,即使它仍然每周在SourceForge上获得约80次下载。 (https://sourceforge.net/projects/synedit/


GitHub上最近更新了三个版本:

有关简要历史记录,请参见DelphiPraxis上的以下线程: https://en.delphipraxis.net/topic/3028-synedit-preferred-version/?do=findComment&comment=24291