关于.net:推荐第三方编辑/语法突出显示控件-WinForms

关于.net:推荐第三方编辑/语法突出显示控件-WinForms

Recommendation for 3rd party editing/syntax highlighting control - WinForms

我正在寻找一种高质量的WinForms组件,该组件支持语法突出显示,代码折叠等。关键标准是:

  • 稳定
  • 价值(价格)
  • 能够轻松自定义语法以突出显示
  • 轻的

  • ICSharpCode.TextEditor是免费的并且非常稳定。
    至于商业解决方案,Actipro的SyntaxEditor可能是最佳选择。


    与Scintilla.Net相比,增强ICSharpCode.TextEditor的作用微不足道。 ICSharpCode.TextEditor的另一个巨大好处是,您可以自定义/构建自己的语法突出显示,例如:https://github.com/icsharpcode/SharpDevelop/wiki/Syntax-highlighting。

    但是ICSharpCode.TextEditor不稳定,它充满了AccessViolations:https://www.google.com.au/search?q=icsharpcode.texteditor accessviolationexception

    您可以通过下载直接查看这些AccessViolations:
    http://www.codeproject.com/Articles/30936/Using-ICSharpCode-TextEditor

    在GitHub上构建的此版本在winforms中表现更好,但在VSTO中,它仍然尖叫AccessViolations:
    https://github.com/KindDragon/ICSharpCode.TextEditor

    与DigitalRune的ICsharp.TextEditor版本相同。

    我建议使用最新的WPF实现:ICSharp.AvalonEdit。

    如果您需要在Winforms中托管此WPF控件:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public Form1()
    {
    InitializeComponent();
    ICSharpCode.AvalonEdit.TextEditor te = new ICSharpCode.AvalonEdit.TextEditor();
    ElementHost host = new ElementHost();
    host.Size = new Size(200, 100);
    host.Location = new Point(100, 100);
    host.Child = te;
    this.Controls.Add(host);
    }

    我遇到的一些商业公司(请注意,我不隶属于这些公司):
    http://www.actiprosoftware.com/products/controls/windowsforms/syntaxeditor
    http://www.qwhale.net/products/editor.htm


    尝试ScintillaNET,它是围绕着出色的Scintilla控件的.NET WinFormspackage器。 Scintilla本身是一个免费的源代码编辑器组件,可高度自定义,并具有您要求的所有功能。请参阅此处以获取屏幕截图。


    推荐阅读

      linux命令逐页显示?

      linux命令逐页显示?,系统,工作,地址,命令,网上,信息,百度,基础,标准,内容,在l

      linux命令多显示几行?

      linux命令多显示几行?,实时,系统,标准,数据,档案,命令,文件,最新,信息,状态,l

      linux命令行显示键值?

      linux命令行显示键值?,系统,环境,管理,文化,国家,信息,工具,数据,软件,项目,L

      linux用命令显示键盘?

      linux用命令显示键盘?,系统,信息,工具,电脑,键盘,分析,设备,数据,通用,工作,L

      linux命令分行显示?

      linux命令分行显示?,数据,分行,系统,时间,最新,百度,实时,命令,文件,内容,lin

      百度linux命令推荐?

      百度linux命令推荐?,地址,工作,系统,百度,命令,工具,设备,数据,信息,发行,Lin

      linux显示路径命令?

      linux显示路径命令?,系统,信息,工作,数据,名称,位置,标准,环境,时间,命令,lin

      linux简单的显示命令?

      linux简单的显示命令?,工具,管理,系统,档案,工作,信息,命令,标准,技术,设备,L

      linux显示用户名命令?

      linux显示用户名命令?,密码,系统,信息,时间,地址,命令,用户,用户名,位置,用

      linux下命令显示行号?

      linux下命令显示行号?,工作,地址,系统,信息,命令,档案,文件,名称,观察,实时,L

      linux命令行最多显示?

      linux命令行最多显示?,信息,系统,数据,档案,标准,文件,命令,名称,地址,最新,l

      linux只显示命令行?

      linux只显示命令行?,系统,密码,工具,终端,信息,暂停,地方,代码,发行,首页,Lin

      linux全屏显示命令?

      linux全屏显示命令?,系统,工具,电脑,软件,数据,上会,环境,位置,虚拟机,分辨

      linux命令框显示乱码?

      linux命令框显示乱码?,系统,信息,环境,软件,项目,情况,乱码,中文,终端,字符

      linux显示到屏幕命令?

      linux显示到屏幕命令?,工具,命令,地址,标准,系统,名字,技术,最新,工作,信息,

      linux命令显示翻页?

      linux命令显示翻页?,地址,工作,命令,标准,管理,环境,系统,信息,暂停,文件,Lin

      linux显示硬盘命令?

      linux显示硬盘命令?,系统,情况,信息,单位,服务,命令,数据,工具,地址,管理,怎

      linux命令显示总大小?

      linux命令显示总大小?,系统,情况,信息,命令,单位,服务,第一,档案,大小,文件

      linux关机显示命令行?

      linux关机显示命令行?,系统,工作,命令,时间,级别,终端,用户,进程,方法,左边,l

      linux命令显示列名?

      linux命令显示列名?,时间,状态,系统,信息,代码,数字,命令,百分比,检测,名称,L