Notepad++的插件开发可以去它的官网下载模板,提供了c/c++,Delphi,c#等语言的插件模板,这里提供一下c++的开发模板.点击下载
下载下来以后是这么些文件
这个工程是能直接编译跑过的,它实现了两个命令, HelloNotepad++ 和Hello (with dialog)
前者是实现了新建一个文档并输入了一段话,后者仅仅是弹出个MessageBox,并不是我们想的是一个dock窗体.
这里先解释一下各个文件是干嘛用的.
menuCmdID.h的意义跟他的名字一样,里面是定义了notepad++里面各个菜单项的id值,应该是点击了它对应的菜单触发了相应的回调的时候用得到,我这次的开发并没有用到这个文件里面的值.
Notepad_plus_msgs.h里面则定义了一些枚举值,比如我们获取到的当前编辑状态是什么语言,其对应的枚举值在LangType里面就可以对应上,其中最主要的还是定义了notepad++本身的一些操作会促发的消息的枚举值,比如打开了文档,保存了文档,这些都是通过一个函数传过来给你的,你就需要根据类型去区分这次的操作是什么,从而做出响应
PluginDefinition.h里面比较简单,就定义了几个函数跟插件的一些信息,比如pluginInit是插件加载的时候调用的, commandMenuInit是初始化菜单用的,每个函数的顶部也有相关的英文说明.我们的每一个命令,都是要对应一个函数的,那些函数也可以定义在这个头文件里面, PluginDefinition.cpp是它里面的每个函数的实现.