极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 49569|回复: 46

Sublime Text 2的Arduino插件 ---- 替代Arduino IDE

[复制链接]
发表于 2012-11-13 00:06:11 | 显示全部楼层 |阅读模式
本帖最后由 peanut 于 2012-11-28 15:28 编辑



Stino -- A Sublime Text 2 Plugin for Arduino
最新版本请到Github下载: github.com/Robot-Will/Stino

最新版本编译没有使用Makefile,直接使用脚本编译,可能会产生问题。解决方案还在考虑中。

-------------------------------------------------------------------------------------------------------------------------------------------------------

在Sublime Text2的Preference菜单中添加了Show Arduino Menu项,可以开关Arduino菜单。
默认Arduino菜单时是不显示的,需要使用时显示出来,不用时可以关掉。

-------------------------------------------------------------------------------------------------------------------------------------------------------

能想到的问题基本上都解决了,支持中文文件名和路径。但是由于make不支持文件名和路径中带空格,所以Arduino程序目录不要放在带空格的目录中,否则编译报错。

------------------------------------------------------------------------------------------------------------------------------------------------------

软件特点 :
已完成的核心部分:
1. 参照Arduino IDE的菜单功能,将Arduino的基本功能在ST2中实现;
2. ST2是一个用了就离不开的编辑器,用ST2写Arduino程序,直接编译和下载;
3. 所有编译、下载和编程器的参数由Arduino软件读取,和Arduino的编译过程一致;
4. Arduino核心文件只编译一遍,自己写的程序每次都编译。比Arduino IDE编译省时间。
5. 编译sketch目录下所有的*.ino, *.pde, *.c, *.cpp文件,程序可以使用多层目录结构;
6. Make基于一个makefile模板文件,可以按照你的需求自己定制make过程;
7. 多语言支持,只需在lang目录中添加utf8编码的文本文件就可以加入新的语言;
8. 纯Python写成,全平台支持(Win/Linux/OSX);
9. 兼容Arduino 1.0/1.0.1/1.0.2/1.5/1.5.1/1.5.1r2

未完成的ST2的特色功能:
1. Snippets
2. Syntax Definitions
3. Key Bindings
4. Completions

使用注意事项:
1. Arduino程序本质上是C++程序,但是为了与一般的C++程序区别开来,使用了ino的扩展名。此插件查找ino来判断是否为arduino的sketch,并且以ino为arduino的标志,一个Arduino的Sketch只能包含一个ino文件,否则编译报错。

2. 当前正在编辑的文件为ino文件时,认为正在编辑sketch,可以新建和添加文件到sketch的目录中,可以查看sketch目录,并可以编译。

3. 文件名或路径中不能有空格,否则编译时报错。

------------------------------------------------------------------------------------------------------------------------------------------------------

代码重新修改了一遍,加入了语言选择和编译信息选项。



------------------------------------------------------- 这是分割线 --------------------------------------------------------------------------------

一直对Arduino的IDE不太满意,尤其是在Linux中Java的菜单很难看。最近下载了Arduino 1.5.1r2,IDE启动报错,更让我对Arduino的IDE不满了。于是就想用Sublime Text2代替Arduino的IDE。



花了几个星期,写了Stino这个Sublime Text2的插件,来实现Arduino IDE的功能。现在还处于完善阶段,但是基本功能已经实现,可以试用了。这个插件支持Windows/Linux/OSX,兼容arduino1.0, 1.0.1, 1.0.2, 1.5, 1.5.1。

使用说明:

1. 下载stino.rar,解压后将stino目录放到Sublime Text2的Packages目录中。



2. ST2菜单中出现Arduino,点Set Arduino Path设定Arduino所在路径。



3. 这是弹出的快捷面板,选Arduino的目录。



4. 一旦点击Arduino的目录,设定Arduino路径就完成了。



5.  出现完整菜单,列出板子。



6.  选中板子,就可以编译了。



7.  这是编译完成的显示。



8.  当插上板子之后,在Serial Port菜单里点Refresh。



9.  串口列表就出现了。



10. 选中串口,就可以下载程序了。



11. 在Programmer菜单里有programmer列表,选中后可以适用programmer来下载和烧bootloader。

12. 当然,程序还在完善中,不免有bug。所以如果你点菜单时没有反应或者报错的话,你可以看看是不是程序出错了。方法是按Ctrl+`打开ST2的命令面板,就可以看到命令的输出了。如下图所示,就是出错提示。如果你懂python的话,自己修改一下;如果你不懂的话,可以把出错信息告诉我,我来完善。



13. 使用后有什么意见和建议请跟帖。由于是本人个人时间里写的插件,而个人时间不多,所以改进会较缓慢。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2012-11-13 10:59:40 | 显示全部楼层
顶下,有什么优势呢?说明下吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-11-13 12:31:53 | 显示全部楼层
本帖最后由 peanut 于 2012-11-13 12:40 编辑

优势当然就是编辑器了,关于Sublime Text2,可以查看这个页面
Sublime Text 2 - 性感无比的代码编辑器!程序员必备神器!跨平台支持Win/Mac/Linux
用了Sublime Text2,就能体会到它的好用了。

另外,Sublime Text2提供了插件接口,可以自己写插件扩展其功能,来满足不同的需要。

Arduino的IDE对于初学者很不错,可是一旦成为熟手,程序写大了之后,这个编辑器就让人抓狂了。所以网上有很多人在提出一些方案,使用其它的编辑器,然后使用Makefile来编译和上传,而不使用Arduino IDE。一篇很不错的教程Advanced Arduino Hacking,还有很多的人给出了Arduino的Makefile,如edam's Arduino makefile。这些方案很好,在OSX和Linux等类*nix系统下,工具链路径比较容易统一,实现比较方便。但是Windows下用用程序存放分散,Makefile需要手动修改,执行make命令要加很长的路径很麻烦。或者如MyArduino 一个命令行下编译/下载Arduino源码的小工具一样,将Arduino核心库和工具链精简后打包和Makefile放在一起,命令行下使用也还方便。

其实无论用Arduino IDE或者直接使用Makefile,都有点不很满意。尤其是新下载的Arduino 1.5.1r2,运行报错:An error occurred while starting the application. ST2用了一段时间,感觉很流畅,所以就想在ST2上实现Arduino IDE的大部分功能,写完程序就能编译和下载,一切自动化。不懂Makefile一样可以用,并且无需将Arduino和ST2打包在一起。只要设定一下Arduino所在的路径,就可以用了,支持AVR和ARM。基本上可以替代Arduino IDE了。并且在windows/linux/OSX上都能用,和Arduino一样跨平台。
回复 支持 反对

使用道具 举报

发表于 2012-11-13 12:38:32 | 显示全部楼层
很给力的样子,楼主快放出来吧!!
回复 支持 反对

使用道具 举报

发表于 2012-11-13 12:43:05 | 显示全部楼层
能烧boot,能换板子么?懂动态切换com口么?有监视端口功能没

最近最小版芯片,经常需要在多块板子上烧写程序,调试等
回复 支持 反对

使用道具 举报

发表于 2012-11-13 13:06:42 | 显示全部楼层
强烈关注,如果可以的话希望试用一下。
回复 支持 反对

使用道具 举报

发表于 2012-11-13 18:01:56 | 显示全部楼层
初试了一下安装之后打开发现菜单里New File和Add File是灰色的。。。 编译也出错。。。XP系统+Arduino1.01 。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-11-13 19:23:08 | 显示全部楼层
只有当前文件为.ino文件,New File、Add File、Import Library和show Sketch Folder才激活。按我的理解,Arduino把.ino文件作为主文件,即一个sketch只有一个.ino文件,编译时检查当前sketch目录下的.ino文件,多余一个的话就报错。

因为ST2可以编辑任何文件,所以只有当当前文件为.ino文件时,才认为正在编辑Arduino源码,New File、Add File、Import Library和show Sketch Folder才激活。New File和Add File都往当前Sketch目录下写入文件。如果你要新建一个任意文件的话,直接用ST2的New File(Ctrl+N)就行了。

代码写完,还需要整理一遍,找出里面的错误,来改一改。所以现在还会有一些隐含的问题。
另外,我只有Win7和linuxMint系统,其它系统没有测试过,windows隐含路径问题。
(Arduino配置文件里的路径都用的是/分割,但是windows下/表示跟参数。win7好像兼容\和/,但是XP和2000不知道怎么样)

你把编译出错信息贴出来,我看看是什么问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-11-15 22:06:18 | 显示全部楼层
代码重新修改了一遍,加入了语言选项。
回复 支持 反对

使用道具 举报

发表于 2012-11-15 22:51:09 | 显示全部楼层
无语了,b2、b3版本插件放进去居然不认了,Arduino菜单都没出现。b1还认的说。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-11-15 23:14:48 | 显示全部楼层
本帖最后由 peanut 于 2012-11-16 00:28 编辑

{:soso_e143:}糗大了

原来你一直在关注啊,谢谢了。

你说的问题很正确,我也发现了,所以一直在改。改了就换。

毕竟本人不是做IT的,写程序只是兴趣而已,错误难免。

写的很累,基本上没太多测试,所以在新的电脑上很容易出现一个变量没初始化,整个程序就报错的问题,结果就是程序运行中断,什么也没出来。

你打开ST2的命令终端就看见了错误了。

刚才把程序完成了,拿到linux机子上测试,结果菜单没出来。

现在修改了,都正常了,传附件了。

我的mega2560正常编译和下载,还不错。

你可以再下载试试,有问题了跟帖,我来改。总之是要运行正常来用的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-11-15 23:47:59 | 显示全部楼层
哦,对了,我没有winxp,你再下载试试。反馈我点信息,winxp下正常不?
回复 支持 反对

使用道具 举报

发表于 2012-11-16 06:57:08 | 显示全部楼层
呵呵,先感谢楼主的无私贡献~
不过这次论坛附件又抽了,楼主放一下博客里吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-11-16 10:31:38 | 显示全部楼层
是呀,附件不能下载,怪异。下载链接给出了,试试吧,给点反馈。谢谢。
回复 支持 反对

使用道具 举报

发表于 2012-11-16 12:21:44 | 显示全部楼层
麻烦楼主了,最近在头痛一些硬件问题,看到代码更那个,直接贴出来先。。。


C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Stino\Makefile:144: warning: overriding commands for target `C:\Documents'
C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Stino\Makefile:141: warning: ignoring old commands for target `C:\Documents'
C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Stino\Makefile:144: warning: overriding commands for target `and'
C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Stino\Makefile:141: warning: ignoring old commands for target `and'
C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Stino\Makefile:144: warning: overriding commands for target `Settings\Administrator\Application'
C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Stino\Makefile:141: warning: ignoring old commands for target `Settings\Administrator\Application'
C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Stino\Makefile:148: warning: overriding commands for target `C:\Documents'
C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Stino\Makefile:144: warning: ignoring old commands for target `C:\Documents'
C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Stino\Makefile:148: warning: overriding commands for target `and'
C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Stino\Makefile:144: warning: ignoring old commands for target `and'
C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Stino\Makefile:148: warning: overriding commands for target `Settings\Administrator\Application'
C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Stino\Makefile:144: warning: ignoring old commands for target `Settings\Administrator\Application'
C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Stino\Makefile:152: warning: overriding commands for target `C:\Documents'
C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Stino\Makefile:148: warning: ignoring old commands for target `C:\Documents'
C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Stino\Makefile:152: warning: overriding commands for target `and'
C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Stino\Makefile:148: warning: ignoring old commands for target `and'
C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Stino\Makefile:152: warning: overriding commands for target `Settings\Administrator\Application'
C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Stino\Makefile:148: warning: ignoring old commands for target `Settings\Administrator\Application'
C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Stino\Makefile:156: warning: overriding commands for target `C:\Documents'
C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Stino\Makefile:152: warning: ignoring old commands for target `C:\Documents'
C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Stino\Makefile:156: warning: overriding commands for target `and'
C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Stino\Makefile:152: warning: ignoring old commands for target `and'
C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Stino\Makefile:156: warning: overriding commands for target `Settings\Administrator\Application'
C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Stino\Makefile:152: warning: ignoring old commands for target `Settings\Administrator\Application'
cleaning Project Objects...
cleaning Arduino Core Objects...
Bulding build/Blink.hex...
[Finished in 2.9s]make: *** No rule to make target `D:\Arduino\arduino-1.0.2\hardware\arduino\cores\arduino/%.cpp', needed by `C:\Documents'.  Stop.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-9 11:31 , Processed in 0.046882 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表