升级NppAstyle中的AstyleLib为最高版本

  注:本文撰写时,NppAstyle的最高版本为0.10.02.14(更新于2013-04-08),Astyle的最高版本为2.05.1(更新于2014-12-11)。

  Astyle是一个很好的代码格式化工具,功能强大,效率也很高。notepad++配上它简直就是如虎添翼。网上发布的NppAstyle为jGood开发(感谢作者为我们带来这么方便的插件),只有一个版本(根据SourceForge上的),所以说内建的Astyle版本较老,对于我这样的版本强迫症简直就是要逼死人。好在这个项目的Astyle作为一个Lib隶属于整个项目,所以改起来相当容易。首先,我下载到了最新版的Astyle代码。然后覆盖了原来的AstyleLib文件夹。开始编译,发现有一些错误,不能通过编译。问题主要出在PluginDefinition.cpp中。

  • 旧版本的Astyle默认提供Lib版的函数声明(或者是作者已经在fork时修改过了代码?),但这个版本不是。所以在PluginDefinition.cpp最前面加上一句话#define ASTYLE_LIB
  • 旧版本的fpError类型定义为“typedef void (STDCALL* fpError)(int errorNumber, char* errorMessage);”,新版本则定义为“typedef void (STDCALL* fpError)(int errorNumber, const char* errorMessage);”,所以传参数时,第二个char*改为const char*

  就这两点,改完就可以愉快地编译了。在这里我顺便给懒癌患者们提供一下改好的项目文件(VS2015)以及编译好的DLL文件。另外,内建Astyle版本的升级必定会带来许多新特性,有时间我会让它们在这个插件中一一体现出来。
  项目文件下载:NppAStyle.zip

  DLL下载:NppAStyledll.zip

你可能感兴趣的:(升级NppAstyle中的AstyleLib为最高版本)