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


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

查看所有标签

猜你喜欢:

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

Java程序设计

Java程序设计

宋中山 严千钧 等编 / 清华大学出版社 / 2005-8 / 27.00元

本书全面、系统地介绍了Java语言的基本概念、基本语法和编程方法。主要内容包括:Java语言概述、数据类型与运算符、流程控制语句、类与对象、继承与多态、异常处理、工具类和算法、Applet小应用程序、图形用户界面、输入和输出、Java多线程以及Java高级编程。每章后面附有习题,读者可参考使用。 本书内容丰富,结构合理,语言简洁,深入浅出,通俗易懂。基础知识与程序实例相结合,示例典型......一起来看看 《Java程序设计》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

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

Base64 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码