前段时间做个小项目需要用到一个代码编辑器控件,但网上搜了半天,居然没发现一个完全满意的编辑器。现有的一些编辑器有:

FastedTextBox

优点:1.  轻量。

2. 样式美观。

3. DEMO完整,文档丰富。

缺点:1. 不支持中文/中文字体显示难看

2. 代码折叠只能支持整行。

ICSharpCode.AvalonEdit

优点:功能强大,几乎完美,非常接近 VS

缺点:1. 使用 WPF 开发。

2. 在 WinForm 使用不大稳定,比如不能同时开两个窗口,图形错位。

3. 内存多。

QWhale.Editor

优点:1. 功能齐全。

2. DEMO完整。

缺点:1. 收费且无源码。

2. 界面难看。

Scintilla.Net

优点:1. 功能齐全。

缺点:使用 C++ 开发,难以控制。

以上编辑器没有一个完整支持以下特性:

1. 支持语法高亮/折叠/括号匹配/行号显示/显示特殊字符/智能TAB缩进。(所有编辑器都支持此功能)

2. 支持自动换行。(ICSharpCode.TextBox不支持)

3. 支持竖行选择。(只有 ICSharpCode.AvalonEdit 支持)

4. 完美支持中文输入法。(只有 ICSharpCode.AvalonEdit 支持)

5. 高性能。编辑 100000 行代码 和 1 行 100000 列代码无压力。滚动时不发生延时。

6. 轻量、启动速度快,依赖 DLL 少。

7. 支持书签、错误波浪线、单词拼写、智能提示。

8. API 和 文档丰富。

9. 支持滚动条缩略图。

10. 兼容更多系统。

轻量、强大的代码编辑器控件-WinForm完美版的更多相关文章

  1. Excel催化剂开源第29波-在Winform上使用富文本编辑器控件

    富文本编辑器,一般都是BS架构专利一般,好像百度有一个开源的比较出名,但无奈这些都只能用在JS上,在BS网页端开发上使用.像Winform开发的VSTO,只能羡慕的份.和一般Winform上用的Ric ...

  2. AvalonEdit-基于WPF的代码显示控件

    AvalonEdit是基于WPF的代码显示控件,项目地址:https://github.com/icsharpcode/AvalonEdit,支持C#,javascript,C++,XML,HTML, ...

  3. Android 图片混排富文本编辑器控件

    概述 一个Android 图片混排富文本编辑器控件(仿兴趣部落) 详细 代码下载:http://www.demodashi.com/demo/12032.html 一.一个Android 图片混排富文 ...

  4. js中的文本编辑器控件KindEditor---那些打酱油的日子

    使用文本编辑器控件KindEditor渲染文本域页面显示 this.sync()同步KindEditor的值到textarea文本框 editor.isEmpty()判断文本域是否是空 editer. ...

  5. swift 字符转为类,代码创建控件

    在使用类之前要先获得 命名空间 通过json来获取 字符型的类名 然后创建类对象,这时候就要用到字符转类 // 从info字典中获取到 命名空间 转为字符型 let NS = NSBundle.mai ...

  6. 强大的代码编辑器 phpstorm version 2016.2 License Server激活

    "磨刀不误砍柴工","工欲善其事必先利其器",找个一个好的代码开发编辑工具可以让我们事半功倍,并且代码质量得到保障,在这里就推荐一款强大的代码编辑器,不对其实可 ...

  7. Android代码实现控件闪烁效果

    代码地址如下:http://www.demodashi.com/demo/13162.html 前言 在项目开发过程中,我们有时会遇到需要控件闪烁和停止的问题,这个用xml是可以实现的,但是为了在使用 ...

  8. 功能强大的Northwoods GoDiagram控件库

    Northwoods GoDiagram控件库用于开发图形应用 Northwoods GoDiagram控件库是付费软件,其官方网址为http://www.nwoods.com/ Northwoods ...

  9. js中的文本编辑器控件KindEditor

    使用文本编辑器控件KindEditor渲染文本域页面显示 this.sync()同步KindEditor的值到textarea文本框 editor.isEmpty()判断文本域是否是空 editer. ...

随机推荐

  1. LR中的时间戳函数web_save_timestamp_param

    以前真没注意过后面看某个群有人说到这个函数一查,还真有,那么处理时间戳就简单很多了,我们经常在各种网站上看到类似于这样的时间戳 51Testing软件测试网"d bLq!uR&am ...

  2. Sublime 快捷键

    语法快捷键: 后代:> 缩写:nav>ul>li <nav> <ul> <li></li> </ul> </nav& ...

  3. php 操作数组(合并,拆分,追加,查找,删除等)(转载)

    1. 合并数组 array_merge()函数将数组合并到一起,返回一个联合的数组.所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加.其形式为: array array_merg ...

  4. Utility3:Understand Dashboard Report

    To see data in the SQL Server Utility dashboard, select the top node in the Utility Explorer tree - ...

  5. VMware 中如何打开U盘弹出U盘或者移动硬盘的(两种方法)

    1.U盘如下,插入后都是直接在win里面显示的 2.选择连接u盘 3.u盘就可以在虚拟机里面显示了 4.弹出则选择断开连接 扩展:如果无效:请参考这种方法 (给虚拟机分配一个临时硬盘,然后设置这个临时 ...

  6. CSS系列:CSS表格样式

    1. 设置单元格的边框 border-collapse: collapse; 2. 边框的分离 对table使用CSS实现cellspacing的属性border-spacing. border-sp ...

  7. LINQ系列:LINQ to SQL Exists/In/Any/All/Contains

    1. Any 返回没有Product的Category var expr = from c in context.Categories where !c.Products.Any() select c ...

  8. Visual Studio中没有为此解决方案配置选中要生成的项目

    问题: Visual Studio点击"生成解决方案"时,出现"没有为此解决方案配置选中要生成的项目". 解决方法: 菜单->生成->配置管理器-& ...

  9. typeof知多少

    昨天同事给我看了一道代码题,是关于typeof的,感觉挺有意思的,在这里分享给大家,顺便自己再对typeof总结总结.如有不对,请给予指出,共同进步. 代码是这样的: <!DOCTYPE htm ...

  10. scikit-learn 线性回归算法库小结

    scikit-learn对于线性回归提供了比较多的类库,这些类库都可以用来做线性回归分析,本文就对这些类库的使用做一个总结,重点讲述这些线性回归算法库的不同和各自的使用场景. 线性回归的目的是要得到输 ...