使用scintilla编译c++方法收藏

(转)用Scintilla让程序支持语法高亮 Scintilla让程序支持语法高亮 来自http://www.cppprog.com/2009/1030/171.html   Scintilla是一个免费、跨平台、支持语法高亮的编辑控件。它完整支持源代码的编辑和调试,包括语法高亮、错误指示、代码完成(code completion)和调用提示(call tips)。能包含标记(marker)的页边(margin)可用于标记断点... 阅读详情
  使用scintilla编译c++方法收藏

新一篇: C/C++ 程序设计员应聘常见面试试题深入剖析 | 旧一篇: C#.net常用函数和办法集

     最近发现一个开源文本编辑器scintilla,速度快,提供语法高亮等功能,可以用来编程.不过编译程序要自己配置,这个比较麻烦.在网上寻得此文,讲的不错.  十分感谢原作者.

[分享]scintilla + bcc55打造简洁的c++开发环境  转自www.LiDuan.com

你也可以用DEV-C++, 但是gc++在windows环境下表现得并不好。比如, 写个很简单的代码,只包括一条cout,
用dev-cpp编译出来有500k, 用bc5.5编译只有111k, 我写的unix时间戳转换用dev-cpp编译900k,
bcc5.5编译200k(g++在linux下编译14k).  因此,我建议初学者在windows下使用别的编译器。

borland c++ compile 5.5(bcc55)就是很好的选择, 免费下载使用。

borland c++ compile 5.5下载:
http://www.codegear.com/Do...

borland c++ compile 5.5 sp2 下载:
http://info.borland.com/de...

scintilla1.73 (sc)下载:
http://prdownloads.sourcef.../

bcc55的安装很简单,直接解压缩到一个目录下, 我放到c:/bcc 下面, 然后是配置bcc55,  需要在c:/bcc/bin下创建两个文件  ilink32.cfg和bcc32.cfg,可以用记事本,也可以用sc. 文件的内容如下

ilink32.cfg

程序代码:

-v-
-x
-L"C:/BCC/LIB;C:/BCC/LIB/PSDK"

(路径根据 自己的情况修改)

bcc32.cfg
程序代码:

-I"C:/BCC/INCLUDE"
-L"C:/BCC/LIB;C:/BCC/LIB/PSDK"
-P
-v-
-w
-DWINVER=0x0400
-D_WIN32_WINNT=0x0400

(路径根据自己的情况修改)

配置完毕后就开始安装sc.  解压缩下载的zip文件,然后将所有的文件(不是目录)复制到c:/bcc/bin  下。 双击SciTE.exe运行sc. 然后开始sc的配置。

sc的配置完全是linux风格的。 它将所有的选项写在文本文件里。 只需要修改文本文件就可以配置sc。

首先要对c语言的命令格式进行修改。sc的命令格式仅仅支持gcc, 需要修改为bcc的命令格式, 打开Options 选择 Open cpp.properties  



在这个文件中查询一下代码(应该在文件的后半部分接近底部)。
程序代码:

ccopts=-pedantic -Os
cc=g++ $(ccopts) -c $(FileNameExt) -o $(FileName).o
ccc=gcc $(ccopts) -c $(FileNameExt) -o $(FileName).o

make.command=make
command.compile.*.c=$(ccc) -std=c99
command.build.*.c=$(make.command)
command.go.*.c=$(FileName)
# To make the Go command both compile (if needed) and execute, use this setting:
#command.go.needs.*.c=gcc $(ccopts) -std=c99 $(FileNameExt) -o $(FileName)

command.compile.$(file.patterns.cplusplus)=$(cc)
command.build.$(file.patterns.cplusplus)=$(make.command)
command.go.$(file.patterns.cplusplus)=./$(FileName)
command.go.needs.$(file.patterns.cplusplus)=g++ $(ccopts) $(FileNameExt) -o $(FileName)

command.build.*.h=$(make.command)

command.name.0.$(file.patterns.cpp)=Indent
command.0.$(file.patterns.cpp)=astyle -tapOK -M8 $(FileNameExt)
command.is.filter.0.$(file.patterns.cpp)=1

command.name.1.$(file.patterns.cplusplus)=Lint
command.1.$(file.patterns.cplusplus)=g++ -W -Wall -Wshadow -Wwrite-strings -Wold-style-cast /
    -Woverloaded-virtual -pedantic -Os -fno-exceptions -c $(FileNameExt)

全部替换为下列代码:
程序代码:

cc=bcc32 -v- -w -O1 $(FileNameExt)

command.compile.*.c=$(cc)
command.build.*.c=make
command.go.*.c=$(FileName)

command.compile.*.cc=$(cc)
command.build.*.cc=make
command.go.*.cc=$(FileName)

command.compile.*.cpp=$(cc)
command.build.*.cpp=make
command.go.*.cpp=$(FileName)

command.compile.*.cxx=$(cc)
command.build.*.cxx=make
command.go.*.cxx=$(FileName)

保存关闭sc, 现在sc就可以进行c++的开发了。但是不能直接运行SciTE.exe  需要将其置于系统路径下运行。 运行方法是在c:/bcc下面建立一个cmd文件。
比如start.cmd内容如下:
程序代码:

path=C:/BCC/BIN;%PATH%
DOSKEY /INSERT
START C:/BCC/BIN/SciTE.EXE
exit


(注意 系统路径 c:/bcc/bin根据自己的情况修改)

保存, 然后点击start.cmd运行sc, 可以编写cpp文件进行测试。
比如test.cpp  内容如下:

#include <iostream>
using namespace std;

int main()
{
    cout << "Welcome www. LiDuan.com" << endl;
}

编辑完后保存,选择tools 里面的compile进行编译。 在选择 go运行, 就可以在右面看到程序的输出结果了。



然而,这个编辑器还不够人性化, 比如 本人喜欢给每行编号。  还有当前行高亮显示。 这些需要对sc的全局进行设置
在Options 选择 Open SciTEGlobal.properties

行号码,找到:
程序代码:

#line.margin.visible=1
line.margin.width=4
margin.width=16

改为:
程序代码:

line.margin.visible=1
line.margin.width=4+
margin.width=16


当前行高亮 找到:
程序代码:

#caret.fore=#FF0000
#caret.width=2
#caret.line.back=#FFFED8
#caret.line.back.alpha=63


改为:
程序代码:

caret.fore=#FF0000
caret.width=2
caret.line.back=#FFFED8
caret.line.back.alpha=63

起始窗口大小 修改:
程序代码:

position.width=576
position.height=740


关闭重新启动就行了。当然你也可以配置一个sc + gcc的编辑器。  配置方法基本相同。 只是不用修改cpp.properties文件。 下图是 配置的两种环境对比。 上面是bcc,下面是gcc.


scintilla也可以在linux下运行, 配置方法可以参阅我的 个人博客
 

发表于 @ 2007年10月05日 15:47:00|评论(0)|编辑

新一篇: C/C++ 程序设计员应聘常见面试试题深入剖析 | 旧一篇: C#.net常用函数和办法集 

Scintilla教程(3): 查找 Scintilla的查找功能 阅读详情

相关推荐

Scintilla使用指南(一)

  Scintilla是一个免费的源代码编辑控件,它完全开放源代码,并且提供一个license允许用户自由地将它用在开源软件或是商业软件中。我是在做毕业课题的时候发现的这个编辑控件,使用后发现它实在是强大和稳定,作为源代码编辑控件,我们能在普通的的文本编辑控件中能看到的功能,Scintilla都完全能够实现,而且,它还能够提供很多编辑和调试源代码时有用的特殊功能。包括语法高亮显示,错误指示

sky的技术天空 1万+

基于对话框和Scintilla控件的C++源代码编辑器

基于对话框和Scintilla控件的C++源代码编辑器,使用了MFC对话框,使用Scintilla控件,实现了新建、打开、保存功能,实现了撤消、剪切、复制、粘贴、删除、查找、全选功能,可以实现代码关键字高亮

Scintilla使用指南(一)收藏

 Scintilla使用指南(一)收藏 新一篇: Scintilla使用指南(二) |  function StorePage(){d=document;t=d.selection?(d.selection.type!=None?d.selection.createRange().text:):(d.getSelection?d.getSelection():)

skyremember的专栏 1600

记事本类似基于Scintilla源代码的文本编辑器。 基于Notepad2中代码的Notepad3和基于metapath中代码的MiniPath。 下载记事本3:-C/C++开发

记事本类似基于Scintilla源代码的文本编辑器。 基于Notepad2中代码的Notepad3和基于metapath中代码的MiniPath。 下载Notepad3:Notepad3 Notepad3是基于Scintilla的快速,轻量级的文本编辑器,具有语法突出显示功能。 它具有较小的内存占用空间,但功能强大,足以处理大多数编程工作。 在此处下载Notepad3。 Notepad3基于Florian Balmer的Notepad2和XhmikosR的Notepad2-mod中的代码。 MiniPath基于Florian Balmer的metapath中的代码。 重要链接! Notepad3 / RC下载页面-https://www.rizonesoft.com/downloads/notepad3/最新变更日志(发行说明)-https://

Scintilla开源库使用指南

Scintilla是一个免费、跨平台、支持语法高亮的编辑控件。它完整支持源代码的编辑和调试,包括语法高亮、错误指示、代码完成(code completion)和调用提示(call tips)。能包含标记(marker)的页边(margin)可用于标记断点、折叠和高亮当前行。 Scintilla是一个免费、跨平台、支持语法高亮的编辑控件。它完整支持源代码的编辑和调试,包括语法高亮、错误指示、代

痞子龙3D编程 1万+

C++开发必备:Scintilla文本编辑组件实战指南

Scintilla作为专为代码编辑打造的轻量级组件,其设计遵循“高内聚、低耦合”的原则,强调性能与可扩展性的平衡。它采用C++编写,不依赖特定GUI框架,通过抽象接口实现跨平台支持。核心理念包括:职责分离——将渲染、词法分析、事件处理解耦;增量更新——仅重绘变更区域以提升响应速度;可插件化Lexer——通过接口支持自定义语言解析。这些设计使其成为Notepad++、SciTE等知名编辑器的底层引擎。

weixin_33812391的博客 1048

Scintilla使用c++ build

Scintilla是一个免费、跨平台、支持语法高亮的编辑控件。它完整支持源代码的编辑和调试,包括语法高亮、错误指示、代码完成(code completion)和调用提示(call tips)。能包含标记(marker)的页边(margin)可用于标记断点、折叠和高亮当前行。 Scintilla是一个免费、跨平台、支持语法高亮的编辑控件。它完整支持源代码的编辑和调试,包括语法高亮、错误指示

flyear_cn 2142

scintilla笔记(一)编译

测试环境:win32 + Microsoft Visual C++ 2005   一、配置编译环境 At the command prompt, change to the /bin subdirectory of your Visual C++ installation. Run vcvars32.bat by typing VCVA

tather的专栏 1704

Scintilla开源库使用指南(一)

Scintilla开源库使用指南(一) Scintilla是一个免费、跨平台、支持语法高亮的编辑控件。它完整支持源代码的编辑和调试,包括语法高亮、错误指示、代码完成(codecompletion)和调用提示(calltips)。能包含标记(marker)的页边(margin)可用于标记断点、折叠和高亮当前行。 Scintilla是一个免费、跨平台、支持语法高亮的编辑控件。它完整支持

自学C++,会写HelloWorld 4857

C++项目集成Scintilla编辑器组件:从编译到语法高亮实战指南

在桌面应用开发中,文本编辑组件是构建代码编辑器、IDE或配置工具的核心基础模块。其原理在于通过词法分析和样式渲染实现语法高亮、代码折叠等专业功能,从而提升开发效率与代码可读性。对于C++开发者而言,直接使用成熟的开源组件能避免重复造轮子,快速获得工业级稳定性和丰富功能。Scintilla正是这样一个专为源代码编辑设计的跨平台组件库,它通过清晰的架构分离文档、视图与交互逻辑,并采用灵活的SCI消息机制进行控制。在工程实践中,集成Scintilla涉及静态库编译、窗口控件创建、词法分析器配置等关键步骤,最终可应

weixin_34226706的博客 369

VS2015编译scintilla的64位的库文件和头文件

Scintilla是一个免费、跨平台、支持语法高亮的编辑控件。以下是对Scintilla库的详细介绍: 一、主要功能 Scintilla完整支持源代码的编辑和调试,具体包括: 语法高亮:能够根据不同的编程语言对代码进行语法高亮显示,使得代码更加易读。 错误指示:能够在代码中标记出潜在的错误或警告,帮助开发者快速定位问题。 代码完成:提供代码自动补全功能,提高编码效率。 调用提示:在编写函数或方法时,能够显示相关的参数提示和文档说明。 此外,Scintilla还支持包含标记(marker)的页边(margin),可用于标记断点、折叠代码和高亮当前行等功能。 二、平台支持 Scintilla是一个跨平台的编辑控件,可以在多个操作系统上运行,包括但不限于Windows、Linux和macOS等。这使得开发者可以在不同的平台上使用相同的编辑控件,提高了开发效率和代码的一致性。

编译 scintilla 并且缩小 SciLexer的 体积的做法

编译scintilla: 从官网下载scintilla源码,解压到本地目录。 使用VS2017及以上版本Visual studio,打开对应的开发者命令行工具。 进入到 scintillaxxx\scintilla\win32 目录中。 执行命令行 :nmake -f scintilla.mak 等待命令执行完毕后。scintillaxxx\scintilla\bin 中就是生成的文件了。 其中:SciLexer.dll 为带有语法解析和高亮的版本。 Scintilla.dll 为基础组件,无附加功能

Lx_XlyS的专栏 1016

开源的源代码编辑控件Scintilla使用

开源的源代码编辑控件Scintilla使用

wDebug 的专栏 4910

利用scintilla实现高级编辑器

scintilla是一款开源的编辑器组件,在windows上以动态库存在,目前在notepad++,codeblock都是用该组件完成大部分编辑功能。网上绝大部分是用c++builder来调用scintilla来实现高级编辑功能,这里我以vc6来实现。 用vc6新建一个单文档工程。我们改写View 类,使view成为scintilla class的一个实例, 首先,不要忘了在app的InitI

sstower的专栏 4195

VC2010编译源代码编辑控件scintilla

VC2010编译源代码编辑控件scintilla 2014-12-31 22:12:26flyfish1986阅读数 1745更多 分类专栏:开源 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/flyfish1986/article/details/42302067 V...

Johnable的博客 594

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

使用Scintilla控件,在MFC的对话框中添加一个语法高亮的文本编辑器,

robinfoxnan的专栏 1537
上一篇: 如何在 Windows 环境下使用 Scintilla 编辑控件?收藏
下一篇: wxWindows一些网文
skyremember
博客等级 码龄20年 203粉丝 484原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值