使用Notepad++代替笨拙的Arduino IDE

charlesc
发布于 2020-11-27 18:17
浏览
0收藏

问题的由来

 

Arduino自带的IDE 太不好用了,缩进难看,无提示功能,对中文的支持也不好,各种不好用::>_<::。

本文将介绍使用Notepad++这个轻量级的免费文本编辑器来打造强大,智能的Arduino开发环境,实现代码的编辑,编译,上传等功能 ,让大家完全摆脱Arduino IDE的困扰。

先上个图,让大家感受一下!

使用Notepad++代替笨拙的Arduino IDE-鸿蒙开发者社区

 

准备工具


1、 Notepad++(百度即可下载)

2、 Arduino IDE(建议使用最新版)

3 、Notepad++.Arduino.0.2.0 插件包

链接  :http://sourceforge.net/projects/narduinoplugin/

百度云: http://pan.baidu.com/s/1qY4vQTe 密码:78tu

 

开始配置

一、安装好Notepad++

 

二、解压出Notepad++.Arduino.0.2.0如下

使用Notepad++代替笨拙的Arduino IDE-鸿蒙开发者社区

 

三、点击Notepad++  的菜单栏的 【语言】-->【自定义语言格式】,在弹出的对话框中点击【导入】,选中上面解压出的Notepad++.Arduino.0.2.0插件包中的 Arduino_language_0.2.0.xml文件,导入完成后关闭对话框即可。

 

使用Notepad++代替笨拙的Arduino IDE-鸿蒙开发者社区

四、将插件包中的 APIs 下的 2个文件 拷贝到 Notepad++下的 plugins 下的APIs下使用Notepad++代替笨拙的Arduino IDE-鸿蒙开发者社区

五、打开Notepad++  ,菜单栏【插件】->【Plugin  Manager】- >【Show Plugin  Manager】,找到  NppExec ,安装。

使用Notepad++代替笨拙的Arduino IDE-鸿蒙开发者社区

六、打开Notepad++,菜单栏【语言】-> 最下面可以发现【Arduino】 ,选中。开始写一段简单的arduino代码(目前已经可以实现代码提示,但是后面还有更强大的)。

 

七、编辑2个执行脚本

上面代码编写好后,按下 F6执行代码,会弹出如下对话框

使用Notepad++代替笨拙的Arduino IDE-鸿蒙开发者社区

1处选择temporary script,表示新建一个脚本。

2处输入如下脚本

NPP_SAVE
"H:\Arduino\arduino-1.6.8-windows\arduino-1.6.8\arduino_debug.exe" --verify "$(FULL_CURRENT_PATH)"

说明一下:
第二行格式如下:
你的arduino安装目录的arduino_debug.exe的路径【空格】--verify【空格】"$(FULL_CURRENT_PATH)"

 

3处 Save,输入保存的脚本的名称:Arduino_verify,     点击OK。

 

上面的脚本 是验证编译 Arduino程序用的,同样的方法,我们需要新建一个将程序下载到板子上的脚本。

 

脚本内容:

 

NPP_SAVE
"H:\Arduino\arduino-1.6.8-windows\arduino-1.6.8\arduino_debug.exe" --upload "$(FULL_CURRENT_PATH)"

名称就保存为:Arduino_upload。

这样一来我们就有2个脚本了,分用于编译 和  下载 Arduino程序。

 

验证一下前面的工作是否正确:写完代码后,按下 F6,弹出的对话框让我们选择执行的脚本,先选择 Arduino_verify  点 OK,编译,这个时候在Notepad ++ 的 console会出现编译信息,再按下F6,选择Arduino_upload,点 OK , 上传,在Notepad ++ 的 console也会显示上传信息。

 

Process started >>>
Looking for library 'user32'
Adding paths from jna.library.path: null
Trying user32.dll
Found library 'user32' at user32.dll
DPI detection failed, fallback to 96 dpi
Looking for library 'shell32'
Adding paths from jna.library.path: null
Trying shell32.dll
Found library 'shell32' at shell32.dll
Looking for library 'Ole32'
Adding paths from jna.library.path: null
Trying Ole32.dll
Found library 'Ole32' at Ole32.dll
正在加载配置...
正在初始化包...
正在准备开发板...
正在验证...

 

增加智能输入功能


主要效果就是,输入缩略字,按下tab键,Notepad++就会自动设定的完整代码。如输入 dw,按下tab键,就会补全为digitalWrite。

同样需要安装插件:

【插件】->【Plugin  Manager】- >【Show Plugin  Manager】,找到 FingerText,安装。

安装完成后点击:

【插件】->【FingerText】->【Toggle on/off SnippetDock】,在编辑区域的右边就会显示如下:使用Notepad++代替笨拙的Arduino IDE-鸿蒙开发者社区点击上面的【Create snippet From Selection】,出现如下页面。

使用Notepad++代替笨拙的Arduino IDE-鸿蒙开发者社区

对于每一条缩略字补全规则,我们需要填写 红色箭头 所指的3个区域。

 

第一:缩略词。根据你自己的喜好,建立缩略词与完整代码的映射关系,如dw  --> digitalWrite()

 

第二:这个规则生效的环境。可以是 GLOBAL, Lang:xxx, Ext.xxx

  • GLOBAL       表示对于所有语言,所有后缀格式的文件,都生效。
  • Lang:HTML   表示对HTML语言生效,Lang:java表示对java语言生效。
  • Ext:ino          表示对文件后缀后ino 的文件生效(Arduino主sketch的后缀就是ino) 。Ext:cpp对cpp后缀生效。
      

第三:缩略词对应的完整代码。

在完整代码中可以使用   $[![]!]  来定位热点光标。补全后,使用tab键可以依次按序定位到热点。还可以使用带名称的热点,名称填写可选的值。

如: $[![pin]!] $[![OUTPUT]!]  ,补全后,按下tab,就可以定位到带名字的热点pin,再按下,就会定位到下一个带名字的热点OUTPUT。

每条完整代码后面都要使用 [>END<] 标记结束

 

注意:如果补全规则有中文,且出现补全后乱码的现象,请在【Create snippet From Selection】页面,设置Notepad++的语言编码方式(菜单栏【编码】),让他和你的源代码的编码方式一致。

 

编辑完成后,按下ctl +S  或者【Save current snippet】按钮保存即可。如需再添加,再点击图中的 【New Snippet】。

 

增加文件浏览器

 

安装方法:菜单栏【插件】->【Plugin  Manager】- >【Show Plugin  Manager】,找到Explorer,安装。点击红心旁边的按钮就可以打开。使用Notepad++代替笨拙的Arduino IDE-鸿蒙开发者社区使用Notepad++代替笨拙的Arduino IDE-鸿蒙开发者社区

使用第三方串口监视器软件

 

openjumper的串口监视器软件。这个是我目前找到的能够兼容Arduino的串口监视软件,它是专门为Arduino写的,但是里面有广告。

链接:http://pan.baidu.com/s/1ge7fRHL 密码:wdks

也可以到官网下载。使用Notepad++代替笨拙的Arduino IDE-鸿蒙开发者社区

 

最后的提示


1、Arduino在执行编译和上传脚本时,会加载当前开发板的相关配置信息。这个配置文件在【Arduino IED】 ->【文件】->【首选项】面板的最下面的一个文件路径,点击后里面有个preference.txt,这个就是编译和上传时的配置文件。

 

在Arduino IDE中我们可以在选项卡里面配置,但是Notepad++则没有这个功能,如果你的开发配置改变了(换了不同型号Ardunio板,或则端口等),则需要打开Arduino IDE,进行配置,配置好以后,关闭Arduino IDE,对应的配置就保存到preference.txt中去了,这个时候Notepad++就能加载正确的配置,就可以使用Notepad++编译和上传了。

 

2、在使用Arduino IDE 建立工程时,要遵守以下规范:主sketch所在的文件夹名要和主sketch名一致!    假如编写一个 LED 的闪烁程序。

/workspace           //arduino的工作目录

    /blink          //当前工程的目录
 
        blink.ino   //arduino源文件,和当前工程目录名称一样。

 

 

 

 

已于2020-11-27 18:17:57修改
收藏
回复
举报
回复
    相关推荐