c# – ScintillaNET和AvalonEdit,用于为WPF应用程序提供脚本接口

栏目: ASP.NET · 发布时间: 6年前

内容简介:代码日志版权声明:翻译自:http://stackoverflow.com/questions/8577627/scintillanet-vs-avalonedit-for-providing-scripting-interface-for-a-wpf-applicati
我正在开展一个项目,包括为我的WPF(.Net4)windows应用程序实现一个脚本界面.我很好奇,如果有人可以建议一个首选的编辑, AvalonEdit vs ScintillaNET .任何陷阱和优势之一.我们需要支持C#和Iron Python

作为脚本语言. (至少这是初始计划,我们可能会在其中一个完成).

ScintillaNET的一个缺点就是它只是一个托管包装在本机(非托管)Scintilla周围.这与WPF4一起使用会导致任何问题.

任何指针和建议都不胜感激.

我认为这取决于你要在编辑器中实现多少功能.还有多少工作你愿意把它扩展它,以及你愿意处理多少学习曲线.

如果你是Win32的目标,你不介意非托管的DLL,那么我认为Scintilla.NET不会是一个问题.另外你也可以很容易地将其以WPF的方式托管为 this 页面.

我个人觉得Scintilla比AvalonEdit更好.使用基本编辑器也更容易入门,并提供了很多开箱即用的功能,例如Scintilla提供开箱即用的代码.

使用AvalonEdit,您必须创建一个折叠策略并自己解析文档,这就是为了支持我尚未实现的AvalonEdit的IronPython所必须做的.

所有我需要支持IronPython编辑器在闪烁是SciLexer.dll在搜索路径和Scintilla.net汇编和以下配置:

private void Form1_Load(object sender, EventArgs e)
    {
        this.scintilla1 = new ScintillaNet.Scintilla();
        this.scintilla1.ConfigurationManager.Language = "python";
        this.scintilla1.Indentation.ShowGuides = true;
        this.scintilla1.Indentation.SmartIndentType = ScintillaNet.SmartIndent.Simple;
        this.scintilla1.Location = new System.Drawing.Point(0, 0);
        this.scintilla1.Margins.Margin0.Width = 40;
        this.scintilla1.Margins.Margin2.Width = 20;
        this.scintilla1.Name = "scintilla1";
        this.scintilla1.TabIndex = 4;
        this.scintilla1.Whitespace.Mode = ScintillaNet.WhitespaceMode.VisibleAfterIndent;
        this.scintilla1.Dock = DockStyle.Fill;
        this.Controls.Add(this.scintilla1);
    }

对于AvalonEdit,您必须加载一个外部荧光笔文件,您可以看到 this 博客文章了解更多信息.所以,如果你想要的基础(突出显示,折叠python c#)我的结论是,早饭更容易,表现更好.尽管使用AvalonEdit,如果您愿意付出努力并处理学习曲线,您可能最终可以做更多的工作.目前我正在使用Scintilla作为我的稳定编辑,并且正在试验Avalon作为概念证明.也许我会在更多地了解编辑的同时形成新的观点.

祝你好运

代码日志版权声明:

翻译自:http://stackoverflow.com/questions/8577627/scintillanet-vs-avalonedit-for-providing-scripting-interface-for-a-wpf-applicati


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

解构产品经理:互联网产品策划入门宝典

解构产品经理:互联网产品策划入门宝典

电子工业出版社 / 2018-1 / 65

《解构产品经理:互联网产品策划入门宝典》以作者丰富的职业背景及著名互联网公司的工作经验为基础,从基本概念、方法论和工具的解构入手,配合大量正面或负面的案例,完整、详细、生动地讲述了一个互联网产品经理入门所需的基础知识。同时,在此基础上,将这些知识拓展出互联网产品策划的领域,融入日常工作生活中,以求职、沟通等场景为例,引导读者将知识升华为思维方式。 《解构产品经理:互联网产品策划入门宝典》适合......一起来看看 《解构产品经理:互联网产品策划入门宝典》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码