手把手教你开发Notepad++插件

一步一步操作详细指南,帮助您创建和部署简单的 Notepad++ 插件:


第一步:准备开发环境

  1. 下载开发工具

    • 从 https://visualstudio.microsoft.com/ 下载并安装最新版(社区版免费):
      • 安装时选择 “C++ 桌面开发” 工作负载
      • 确认包含 Windows SDK(系统应自动选择)
  2. 下载 Notepad++ SDK

    • 访问 https://github.com/notepad-plus-plus/notepad-plus-plus
    • 进入路径:/PowerEditor/src/MISC/Plugins
    • 下载 PluginInterface.h 文件(右键 → 另存为)

第二步:创建项目文件

  1. 创建项目目录

    • 在您的电脑创建新文件夹:
      C:\Dev\MyNotepadPlugin
      ├── include/   (放置SDK文件)
      ├── src/       (放置源代码)
      └── build/     (放置编译结果)
      
  2. 存放关键文件

    • 将下载的 PluginInterface.h 放入 C:\Dev\MyNotepadPlugin\include
  3. 创建源代码文件

    • C:\Dev\MyNotepadPlugin\src 创建 main.cpp
    • 粘贴以下代码(与示例略有改进):
#include <windows.h>
#include "PluginInterface.h"

// 插件信息结构体
typedef struct {
    FuncItem *funcItems;
    HINSTANCE hModule;
} PluginData;

// 功能函数 - 弹出消息框
extern "C" __declspec(dllexport) void showMessage() {
    MessageBox(NULL, 
              L"恭喜!你的首个插件已运行", 
              L"插件安装成功", 
              MB_ICONINFORMATION | MB_OK);
}

// 插件名称
extern "C" __declspec(dllexport) const TCHAR * getName() {
    return L"MyFirstPlugin";
}

// 菜单项设置
extern "C" __declspec(dllexport) FuncItem * setInfoFuncs(FUNCITEM *funcItems, int nbFunc, NppData nppData) {
    static FuncItem funcItem[1];
    funcItem[0]._pFunc = showMessage;      // 绑定功能函数
    wcscpy_s(funcItem[0]._itemName, 128, L"显示欢迎信息");  // 菜单项名称
    funcItem[0]._cmdID = 0;                // 命令ID
    funcItem[0]._init2Check = false;       // 无复选框
    funcItem[0]._pShKeyCombo = NULL;       // 无快捷键
    
    return funcItem;
}

// 主设置接口
extern "C" __declspec(dllexport) void setInfo(NppData nppData) {
    setInfoFuncs(NULL, 0, nppData);  // 初始化功能项
}

第三步:设置 Visual Studio 项目

  1. 创建新项目

    • 打开 VS → 文件 → 新建 → 项目
    • 选择:C++ 动态链接库(DLL)
      • 项目名称:MyNotepadPlugin
      • 位置:C:\Dev\MyNotepadPlugin\build
  2. 配置项目属性

    设置项路径/值
    包含目录C:\Dev\MyNotepadPlugin\include
    平台Win32
    字符集Unicode
    输出目录C:\Dev\MyNotepadPlugin\build\Release
    目标文件名MyFirstPlugin.dll

    具体操作:

    • 右键项目 → 属性
    • 配置属性 → C/C++ → 常规 → 附加包含目录 → 添加 ..\..\include
    • 配置属性 → 高级 → 字符集 → 改为 使用 Unicode
  3. 添加源代码

    • 右键 源文件 → 添加 → 现有项
    • 选择 C:\Dev\MyNotepadPlugin\src\main.cpp

第四步:编译生成 DLL

  1. 选择编译模式

    • 顶部工具栏:配置选 Release
    • 平台选 Win32
  2. 生成解决方案

    • 右键项目 → 生成
    • 或按快捷键 Ctrl + Shift + B
  3. 验证输出

    • 检查输出路径:
      C:\Dev\MyNotepadPlugin\build\Release
      └── MyFirstPlugin.dll
      
    • 确保文件大小在 50-200KB 范围

第五步:安装插件

  1. 找到 Notepad++ 插件目录

    • 打开 Notepad++
    • 顶部菜单:帮助 → 调试信息 → 看 “插件配置文件夹” 路径
      • 通常为 C:\Program Files (x86)\Notepad++\plugins
  2. 创建插件子目录

    C:\Program Files (x86)\Notepad++\plugins
    └── MyFirstPlugin  # 新建文件夹
         └── MyFirstPlugin.dll # 复制DLL文件至此
    
  3. 重启 Notepad++

    • 完全关闭后重新启动

第六步:验证插件效果

  1. 查看菜单

    • 重新打开后:
      菜单栏 → 插件 → MyFirstPlugin → 显示欢迎信息
      
  2. 测试功能

    • 点击菜单项 → 应弹出成功消息框

问题排查

问题现象解决方案
菜单不显示检查 DLL 是否在正确路径的独立子目录
点击无反应检查 VS 项目是否配置为 Unicode 字符集
报错无法加载右键 DLL → 属性 → 取消勾选 “解除锁定”
编译失败确认已添加 PluginInterface.h 到包含目录

完成所有步骤后,您的插件应该正常运行。之后您可以修改 showMessage() 函数实现自定义功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值