Arduino教程学习A5-Arduino常用的代码编写工具

Arduino常用的代码编写工具

大家在使用Arduino IDE编写程序的时候,都会觉得Arduino的IDE会有很多不足的地方,比如打开缓慢,不能显示中文,高亮不清晰,Auto Format自动格式化工具不够智能等。下面我分享一下我自己使用的Arduino代码编写工具,或者不一定是最好的,权当抛砖引玉,欢迎大家多提意见。

代码编写器:Notepad2 MOD
我先说一下我选代码编写器的要求:

  1. 有语法高亮功能,这是必须的。
  2. 软件要轻量,界面要简洁,可以一下子打开很多个窗口方便编辑。好像UltraEdit这样的界面太复杂了,很多时候功能用不到,而vc++又打开极其缓慢,浪费时间。
  3. 兼容中文注释,其实这个要求不是重点,只是Arduino的IDE竟然不支持,所以才作为要求。
  4. 可以把语法高亮方案导出为 HTML、UBB 代码,便于论坛或者网站分享。
  5. 字体清晰可见,必须是等宽字体,中文必须方正,选择时候不能像一些兼容中文的外国软件,因为字体没选好,选择文本时候会选到半个中文字这样。

捕获1.GIF

2011-10-2 21:53 上传(23.56 KB)

最后选择了Notepad2 MOD,下载地址:http://www.hanzify.org/software/12201.html。软件不到1M大,速度跟Windows自带记事本差不多。但是能满足上面四个要求。

但是Notepad2 MOD默认不识别Arduino和Processing的pde格式高亮。必须要在软件主菜单-工具-自定义语法高亮方案,选“C/C++源代码”加上pde格式即可。

捕获3.GIF

2011-10-2 21:53 上传(17.76 KB)

软件可以关联Windows大部分的文本格式,或者添加右键菜单。并且都有语法高亮显示。软件放到一个不会移动的位置,设置好上面的“自定义语法高亮方案”后,在软件主菜单-工具-文件关联设置,即可设置所有支持格式的关联。我一般直接按“全选”就行了,完全可以替代Windows记事本。

捕获2.GIF

2011-10-2 21:53 上传(21.31 KB)

代码格式整理:CoolFormat源代码格式化

捕获4.GIF

2011-10-2 21:53 上传(26.27 KB)

相信大家都用过Arduino IDE的Auto Format功能。它可以整理我们乱糟糟的代码,令我们阅读代码更轻松高效。但是,有时候我们会发现Auto Format只能整理简单的代码缩进。很多杂乱的代码整理效果并不好,比如 for(i=0; i <10;i++){} 这样的代码,空格有的地方有,有的没有。或者

for(i=0; i <10;i++){
if(a>0)
{
a++;
}
}

这样,for语句和if语句用了两种风格的花括号样式。经常会给我们带来严重的阅读障碍。
如果想要快速读懂代码,就要一个完善的代码格式化工具。CoolFormat源代码格式化就可以整理上面的不同的代码格式错误。软件下载地址:http://blog.csdn.net/akof1314/article/details/5355948。在介绍页面里面,你会发现除了我提及的两种格式错误之外,CoolFormat还有很多种规则去整理代码的。

注意:CoolFormat对ArduinoIDE代码打开之后会出现没有换行的错误,是因为CoolFormat识别的换行符是\r\n,而ArduinoIDE识别的换行符是\n,这样CoolFormat就不能识别到换行了。解决方法是不用CoolFormat打开文件,而是在其他编辑器写好代码,复制到CoolFormat之后格式化,然后复制回去。

使用方法:

  1. 在其他编辑器打开Arduino代码复制到CoolFormat。
  2. 在CoolFormat主界面“显示样式”为“格式风格:Ansi/Allman/Bsd”,“语法着色:C++”。
  3. 然后按一下快速格式化即可。
  4. 将格式化好的代码复制回其他编辑器。

    上段代码整理之后就变成了:

    for(i = 0; i < 10; i++)
    {
    if(a > 0)
    {
    a++;
    }
    }

空格和花括号样式和缩进都正常了。

附:
visual micro编辑器以及配置方法见8楼:http://www.geek-workshop.com/forum.php?mod=redirect&goto=findpost&ptid=129&pid=544&fromuid=77

via - 极客工坊

标签: Arduino教程, arduino代码编写工具, arduino ide, arduino工具