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

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

内容简介:代码日志版权声明:翻译自: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


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

查看所有标签

猜你喜欢:

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

编程语言

编程语言

图科 / 李德龙 / 清华大学 / 2008-1 / 68.00元

本书第1版自1999年出版以来,编程语言的研究已得到迅猛发展。为此,新版尽量贴近现今的发展趋势,以适应当前和未来编程语言设计过程中所伴随的新挑战。本书除了进一步提高了4种程序设计范型及其所用的语言的广度和深度外,还大大丰富了关于语言设计原理的内容,并新增了如Python、Perl这类编程语言的例子。本书主要结构第一部分:原理。第2、4、5、7、9章分别讲述了编程语言的5个核心原理(语法、名称、类型......一起来看看 《编程语言》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具