notepad++是非常不错的编辑器。虽然比不上专门的IDE,但拿来写一写短脚本或者学习语言用是非常合适的。
本文介绍如何配置notepad++同时支持3种语言:C/C++、python、Go。
notepad++本身即支持C/C++和python的语法高亮,Go的语法高亮需要自行配置。网上常见的配置效果真心不咋地,所以我拿来改造了以下,弄成了我个人比较喜欢的风格:关键字绿色、类型粉红色、保留值青色、错误值红色等等。这个高亮模式配合solarized风格非常舒服,字体建议consolas-with-Yahei,中英文显示都很好,其实个人更喜欢monaco,但没有好的整合字体(网上常见的整合字体号称等宽但一旦中英文混用就不再等宽了,强迫症表示非常难受)。
配置方法:
首先当然是保证notepad++已安装,并安装NppExec插件(插件 -> 插件管理... -> 可用);其次,保证已安装3种语言的实现(单纯的实现如mingw/go,或者软件包如anaconda、VS等等都可以),并将编译器目录加入path环境变量。
从百度盘链接(提取码:1234)下载notepad++go.zip。解压得到其中4个文件:exec.go,exec.exe,go.xml,userDefineLang_Go.xml。
把go.xml复制到notepad++目录的\plugins\APIs文件夹中(APIs文件夹现版本已消失,自行创建)。
打开notepad++,导入userDefineLang_Go.xml(语言 -> 自定义语言格式... -> 导入...)。
重启notepad++,可打开exec.go测试语法高亮情况。
同时支持三种语言的秘密就是exec.exe文件,它会根据后缀名调用相关编译器构建或者执行。exec.go是其源代码文件,可以根据需要修改以支持更多编程语言(比如mingw里的Fortran、Ada、Objective-C等等)。请移动exec.exe至环境变量path包含的某个文件夹中,或者将其所在文件夹加入path中。
菜单 插件 -> NppExec -> Execute...,在弹出框中输入如下:
npp_save
cmd /k exec "$(FULL_CURRENT_PATH)" & PAUSE & EXIT
npp_console 0
npp_menucommand File|Reload from Disk|Yes
弹出框 save... -> 输入“运行代码” -> save。
菜单 插件 -> NppExec -> Execute...,在弹出框中输入如下:
npp_save
cmd /k exec -b "$(FULL_CURRENT_PATH)" & PAUSE & EXIT
npp_console 0
npp_menucommand File|Reload from Disk|Yes
弹出框 save... -> 输入“构建代码” -> save。
菜单 插件 -> NppExec -> Advanced options...,弹出框勾选左上角place to the Macros submenu, 然后点左下角associated scripts,找到并选择之前添加的“运行代码”,上方item name一栏填写“运行代码”,然后add;同样找到“构建代码”条目,修改item name后,add。OK退出。
重启notepad++,菜单 设置 -> 管理快捷键... -> 插件命令,下拉找到“运行代码”和“构建代码”两项,分别设置快捷键。我用的是Ctrl+E 和 Ctrl+Shift+E。
菜单 插件 -> NppExec -> Change Console font...可以修改字体类型和大小;如果console输出有乱码,菜单 插件 -> NppExec -> Console Output...选择不同编码试一下,一般input编码和output编码一样。