使用Scintilla编写语法高亮文本编辑器

一、概述

Scintilla是一个免费的源代码编辑控件,它完全开放源代码,并且提供一个license允许用户自由地将它用在开源软件或是商业软件中。比如我们常用的notepad++就是使用了这个控件。https://github.com/notepad-plus-plus/notepad-plus-plus/pull/12624

Scintilla官方下载地址:https://www.scintilla.org/scintilla532.zip 

配套的lex下载地址:https://www.scintilla.org/lexilla521.zip

编辑器控件代码是跨平台的,而如果需要在mfc中使用,则需要进行适当封装,幸好有人已经做好了相关的工作:CScintillaCtrl, CScintillaView & CScintillaDoc v1.77

该控件可以在对话框中以及视图中使用,该压缩包下载后就是一个完整的示例,可以编译;

另外有人也提供了一个相关的示例,该示例的发布信息中提供了可用的DLL文件,我们不再需要再编译可执行文件Scintilla.dll和Lexilla.dll。https://github.com/RadAd/RadNotepadMFC

本文主要讨论如何在对话框中使用和配置典型的功能。

二、需求与环境

VS2019,windows11,使用MFC开发;

1)在对话框中添加代码编辑器,

2)支持某种语言的关键字语法高亮,

3)行号显示与代码折叠

4)代码提示补全,

效果如下:

三、步骤

1)下载源码压缩包

https://www.scintilla.org/scintilla532.zip

https://www.scintilla.org/lexilla521.zip

http://www.naughter.com/download/scintillawrappers.zip

2)下载DLL

Releases · RadAd/RadNotepadMFC · GitH

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SciTE 是个开源的优秀且小巧功能强大的编辑器!它支持代码高亮、自动完成、代码折叠、括号匹配、自定义模块等! 它几乎可以用到目前任何的主流语言上面,而且还支持众多的配置文件高亮折叠,突出等效果!如 Apache 的 conf 文件 php.ini 文件像平时我们在改这些文件的是后往往为了找到某字段而费劲功夫,如今你大可以轻松的去配置它们了. SciTE最强打的地方无疑就是它的自配置功能了!他的配置文件就在主文件下,后缀为 properties 的文件。它们分别是用于各语言和程序的配置设置,包括显示设置,功能设置等等!然而刚接触 SciTE 的朋友会因为这个功能一头雾水,毕竟需要手动修改代码进行配置,但是如果你真的懂了这些代码你会发现 SciTE 全身都在闪耀着光芒! 像notepad2,notepad++等等一些流行的记事本软件都是在以其为基础的。 官方网站:http://www.scintilla.org/SciTE.html 官方文档:http://www.scintilla.org/SciTEDoc.html 可以为各种语言指定编译器,直接编译,是一个很小巧的IDE。在windows下还可以下载 Filerx 来管理我们的project和macro,其下载地址为 http://llt.chez.tiscali.fr/ 可以为各种语言添加API,使其有和vc vs一样的下拉菜单提示及自动完成API函数名,关键字等等。 其下载地址为 http://groups.google.com/group/scite-interest/web/extras 还可以自己定义语言,并为自己的语言设置语法高亮。 像vc vs中的代码折叠也是支持的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值