0.notepad++

  本来准备 学习 Lime, Lime 是 由 go + python+界面工具 写的一个 sublime
的开源实现。但是这个配置比较复杂,所以我决定先研究一下它的兄弟产品notepad++。

  notepad++的实现已经有10年了,已经是一款非常成熟的软件了。我现在 需要做的就是慢慢
把它的代码啃一遍,把它的架构理出来。由于是自主学习,所有我有更多的精力去去学习它的方方面。由点及面发散开来,夯实基础。

为了促进学习,同时又检验学习的目标,我给自己设定的一个目标是给 notepad++开发一个插件工具。这个插件类似
eclipse 的 format 功能,用户可以设置一些 sample formated code, 之后可以对代码format。

具体来说,例如:可以给 *.java 文件设置 sample code,可以指定Tab缩进或者
4个空格缩进,可以指定设置{处于行末,或者另起一行格式,设置完成之后,然后对
*.java文件可以按照这个模式format。当然每种文件我都提供一个默认的format格式。我重点处理c++代码和 xml 的format。

这段日子业余的重点就是notepad++了,对go语言,以及其他开源代码及工具的学习要相对减少了。希望自己能够集中精力完成。

暂定学习计划如下:

1.tinyXML代码理解,tinyXML2代码理解,并且重新构造

2.理清Scintilla库的使用,完整理清notepad++界面框架

3.理清notepad++消息循环。

4.再造一遍轮子,自己用win32仿照简单写一个notepad++。

5.了解一些细节,如:关键字高亮匹配,编码管理,开启多个窗口,内容暂存,

6. 学习和参考插件的实现过程。

7.完成插件的制作

时间: 2024-10-29 04:39:28

0.notepad++的相关文章

notepad++ 配置笔记

0.notepad++简介 Notepad++是一套非常有特色的自由软件的纯文字编辑器,有完整的中文化接口及支援多国语言撰写的功能.它的功能比 Windows 中的 Notepad更强大.Notepad++ 不仅有语法高亮功能,也有语法折叠功能,并且有大量扩展插件. 1.相关设置 [1]设置->首选项 设置tab [2]设置->首选项 设置函数和关键字自动完成 [3]设置->语言格式设置 设置全局字体 [4]设置->语言格式设置 修改C语言样式 notepad++ 配置笔记,布布扣

关于PHP开发所需要的工具和环境

0.notepad++ 一个类型记事本的软件,用来看安装的部署说明命令. 1.虚拟机 在虚拟机里面操作,本机不会被影响. 2.CentOS系统 类似Linux的系统,在里面安装PHP,Nginx,php-fpm,Mysql 3.Putty 一个远程连接软件,配置好虚拟机系统的网络后,可以在本机用这个工具输入IP地址访问虚拟机系统,这个软件可以选择内容后,直接右键粘贴. 4.Winscp 一个远程图形管理文件的软件,可以通过它远程连接上虚拟机系统,然后把准备好的文件夹复制到虚拟机系统中.后面要解压

跟踪 Ring3 - Ring0 的运行流程

理论知识 SYSENTER 指令是在 Inter Pentium(R) Ⅱ 处理器上作为"高速系统调用"功能的一部分被首次引用的. SYSENTER 指令进行过专门的优化,能够以最佳性能由 Ring3 层切换到 Ring0 层. 微软首次引用 SYSENTER 指令是在 Windows 2000 的系统上,再次之前微软的系统是通过自陷指令 int 0x2E 进入 Ring0 层的系统空间的. 在 Windows 2000 及以后的系统中,假设想要从 Ring3 层进入 Ring0 层,

关于【键鼠<局域网>共享软件:synergy】install

Installation Arch Linux 您可以download this software[synergy]:http://synergy-project.org/ Windows and Mac OS X Download and run the newest installer 同linux下载 Pre-configuration[安装install之前的相关配置] First determine the IP addresses and host names for each ma

鬃嘴释怀说太多就成真不了。

子阻撞砖奏尊仔籽着 释怀说太多就成真不了. http://passport.baidu.com/?business&un=vip&un=%E5%A4%A9%E6%B0%B4%E4%B8%8A%E9%97%A8%E8%BF%99%E5%B0%8F%E5%A7%90#0 http://passport.baidu.com/?business&un=vip&un=%E7%99%BD%E9%93%B6%E4%B8%8A%E9%97%A8%E8%BF%99%E5%B0%8F%E5%A

澜星粘鼐贩逊耐盼系甭妊倏纪傲傲sdfghjk

http://passport.baidu.com/?business&un=R&un=%E5%A4%A7%E5%AE%81%E6%A1%91%E6%8B%BF%E9%80%9A%E5%B0%8F%E5%A7%90#0 http://passport.baidu.com/?business&un=R&un=%E4%B9%A1%E5%AE%81%E6%A1%91%E6%8B%BF%E9%80%9A%E5%B0%8F%E5%A7%90#0 http://passport.bai

在Ubuntu14.04上OpenStack Juno安装部署

在Ubuntu14.04上OpenStack Juno安装部署 0 安装方式 0.1 安装方式 安装方式 说明 目标 备注 单结点 一台服务器运行所有的nova-xxx组件,同时也驱动虚拟实例. 这种配置只为尝试Nova,或者为了开发目的进行安装.   1控制节点+N个计算节点 一个控制结点运行除nova-compute外的所有nova-services,然后其他compute结点运行nova-compute.所有的计算节点需要和控制节点进行镜像交互,网络交互,控制节点是整个架构的瓶颈. 这种配

2008 SCI 影响因子(Impact Factor)

Excel download 期刊名缩写 影响因子 ISSN号 CA-CANCER J CLIN 74.575 0007-9235 NEW ENGL J MED 50.017 0028-4793 ANNU REV IMMUNOL 41.059 0732-0582 NAT REV MOL CELL BIO 35.423 1471-0072 PHYSIOL REV 35.000 0031-9333 REV MOD PHYS 33.985 0034-6861 JAMA-J AM MED ASSOC 3

notepad++上搭建gtk+2.0/3.x开发环境

前言 老师布置了一道题需要用到图形界面,于是开始找图形库.最后选择了gtk+图形库,然后折腾了大概一天. 这里记录自己新学到的知识,同时也给后来者一些便利. 准备 下载以下内容 notepad++(由于官网访问较慢,建议使用其他渠道) mingw(包含msys和gcc工具链) gtk+bundle(2.x或3.x都可以,这里提供3.x.若连接失效,请自行搜索下载) 安装 notepad++的安装就是普通安装,这里不做介绍. 运行mingw-get-setup.exe,选择一个安装目录(这里以c: