本来学Unity3D学的好好,愤怒的小鸟刚告一段落,准备着手新的2D游戏开发,结果学校开始做课程设计了。。。
刚好我在用Unity3D的时候感觉Mono启动很慢,用VS2012就更慢了,所以想自己做一个代码编辑器
当然是简单的那种。。
今天先是代码分析:
首先把源文件读到内存中,然后通过状态机分析,保存到一个叫CodeCut的集合中(因该做成Cut树要好点)
然后根据CodeCut.CutType类型来绘制代码(颜色保存在CutType中,从配置文件获取代码)
绘制代码调用渲染接口ICodeRenderer,这个接口必须实现(由具体平台提供,可以用GDI+或者DirectX写渲染器)
今天做了一点,具体效果如下:
支持行号和语法高亮,支持光标定位(鼠标键盘)
但还不能编写代码。。。。只是简单的渲染了