搜索
bottom↓
回复: 299

从今天开始像开挂一般编辑IAR工程(申精)

  [复制链接]
(111865820)

出0入0汤圆

发表于 2017-3-8 06:40:48 | 显示全部楼层 |阅读模式
本帖最后由 MasterPhi 于 2017-3-8 17:47 编辑

从今天开始像开挂一般编辑IAR工程

一-引言

IAR作为使用频率最高的嵌入式IDE让人又爱又恨。高效的编译器、简洁的界面、专业的分析调试功能让人爱不释手,但与此同时,其简陋的代码编辑功能也饱受诟病。简易的代码着色功能、聊胜于无的代码格式化、坑爹的自动完成等都让生产效率收到了各种限制。之前我就一直有这样的想法,要让我们嵌入式工程师能像搞桌面开发的拥有一样的编辑环境,前段时间终于将该想法付诸实践了,于是有了今天的主角:IAR_Gen。

二-IAR_Gen

IAR_Gen是一个读取IAR工程并输出premake脚本的工具,和premake(内含)一起使用就能达到将IAR工程转换到Visual Studio、XCode、 gmake等工程的效果。看到这里大家就明白了,导出到Visual Studio不就是为了其强大的编辑功能吗?不仅如此,我同时将vs的最强插件推荐给大家,这样工作起来更是如虎添翼。


代码我已上传GitHub,希望前辈们提出改进意见或直接提交Pull Request,毕竟C#编程我经验有限。
关于可能的360报毒:我也不多说,有疑问的可以自行下载源码编译。
https://github.com/HiFiPhile/IAR_Gen

三-效果演示

以下为我自己配置好的编辑环境,如何配置我会在下面说明。打好插件的vs功能及其强大,更多的还要大家去自己发掘,我这里只举了几个例子。

1.由IAR傻瓜化导出vs2015工程。可以看到导出的vs2015工程保持和IAR工程相同的目录结构,代码着色和自动提示功能完全正常。


2.代码提示及自动补全switch case


3.自动补全for循环(输入forr关键字)


4.全局更改关键词名称


5.自动生成注释


四-配置教程

这一节主要面向稍微有一点动手能力的人,如果大字不识的话我建议您还是绕道,就当看个热闹了

1.一个能用的Visual Studio,我推荐2015,免费的Community版本就行。这两天2017版本刚发布,感觉新功能不少,有空我会研究一下。
2.安装插件,这里我给大家推荐4个插件:
Visual Assist X(必装)
    不解释,vs里面c语言编辑毫无争议的最强插件,演示环节的几个功能都由该插件提供。
Productivity Power Tools 2015(推荐)
    微软自家出品的难得的良心插件,提供一定的补全功能,最有用的是用竖线匹配括号{},当条件嵌套较多的时候一目了然。


AStyle (推荐)
    极其强大的代码格式化工具,精确定制,比如说{是否换行,括号和运算符左右是否空格等。可以选择保存时自动格式化,推荐直接将内置代码格式化快捷键更改为调用AStyle。
Atomineer Pro Documentation
    上面我演示过的注释自动生成工具,德国制造,支持Doxygen、XML等格式,不过只支持英语。

3.将IAR_Gen加入IAR工具栏(第一个动画的效果) IAR也真有自知之明,对外置工具支持还是不错的,只需要Tools->Configure Tools就行了。



备注
在Visual Studio下仅支持代码编辑,编译调试还需在IAR下进行!
像EmBitz这种半专业IDE都没成功实现的调用IAR进行编译的功能,我还是不尝试了

补充
1.本人使用的代码风格
实际上就是微软风格,只是vs本身自带的格式化功能有限,比如换行就不支持,所以使用的AStyle插件。
比如下面这种长代码自动换行对其就需要AStyle

下面是我使用的设置,添加在Tools->Options->AStyle Formatter->Edit。
  1. --style=allman --indent=spaces=4 --align-pointer=type --align-reference=name --max-code-length=100 --indent-namespaces --pad-oper --unpad-paren --convert-tabs --break-after-logical --mode=c
复制代码

本帖子中包含更多资源

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

x

广告:购买下面产品论坛可获得建设资金 >>

(111864996)

出0入0汤圆

发表于 2017-3-8 06:54:32 来自手机 | 显示全部楼层
谢谢谢谢。mark
(111864859)

出0入0汤圆

发表于 2017-3-8 06:56:49 | 显示全部楼层
恭喜楼主开挂
(111864645)

出0入0汤圆

发表于 2017-3-8 07:00:23 来自手机 | 显示全部楼层
谢谢推荐,只用过vax插件
(111863618)

出0入0汤圆

发表于 2017-3-8 07:17:30 | 显示全部楼层
无VA,不VC
(111863517)

出0入0汤圆

发表于 2017-3-8 07:19:11 来自手机 | 显示全部楼层
楼主这么早就干活!佩服!
(111862539)

出0入0汤圆

发表于 2017-3-8 07:35:29 | 显示全部楼层
拿了此贴,精神为之一振,许久不见之好贴。
(111862161)

出0入0汤圆

发表于 2017-3-8 07:41:47 来自手机 | 显示全部楼层
mark            
(111861398)

出0入0汤圆

 楼主| 发表于 2017-3-8 07:54:30 | 显示全部楼层
dgtg 发表于 2017-3-8 07:19
楼主这么早就干活!佩服!

时差,马上洗洗睡了
(111861218)

出0入0汤圆

发表于 2017-3-8 07:57:30 | 显示全部楼层
请问插件4个都装还是只选其中一个就行?
(111861058)

出0入0汤圆

发表于 2017-3-8 08:00:10 | 显示全部楼层
谢谢楼主,这个插件真心不错!
(111861018)

出0入0汤圆

发表于 2017-3-8 08:00:50 来自手机 | 显示全部楼层
这个略微麻烦,
有一个IAR2VS2010的小软件,
直接双击就ok了。
(111860966)

出0入0汤圆

发表于 2017-3-8 08:01:42 来自手机 | 显示全部楼层
能编译调试就完美了
(111860915)

出0入0汤圆

 楼主| 发表于 2017-3-8 08:02:33 | 显示全部楼层
18161319737 发表于 2017-3-8 08:00
这个略微麻烦,
有一个IAR2VS2010的小软件,
直接双击就ok了。

同样是自动生成
篇幅主要是介绍vs插件
(111860862)

出0入0汤圆

 楼主| 发表于 2017-3-8 08:03:26 | 显示全部楼层
banyai 发表于 2017-3-8 07:57
请问插件4个都装还是只选其中一个就行?

需要什么就装什么
(111860152)

出0入0汤圆

发表于 2017-3-8 08:15:16 来自手机 | 显示全部楼层
那四个插件我装了两个,
微软的没有装,文档生成的也没有装。

括号对齐可以使用IAR的折叠功能代替,
一节一节的折叠就不错,
而且一个TAB使用四个空格,基本还是明了。

文档现在完全没需求,
一是不可避免的要使用中文,
二是现在没人管控我的软件代码。
(111859917)

出0入0汤圆

发表于 2017-3-8 08:19:11 | 显示全部楼层
试了下,出错

本帖子中包含更多资源

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

x
(111859243)

出0入0汤圆

发表于 2017-3-8 08:30:25 来自手机 | 显示全部楼层
楼主发帖,虎躯一震,精出~
(111859054)

出0入0汤圆

发表于 2017-3-8 08:33:34 | 显示全部楼层
VS2015多大?估计几个G了。
对于不用C#的同仁,安装了,有点大。
(111859039)

出0入0汤圆

发表于 2017-3-8 08:33:49 | 显示全部楼层
谢谢分享
(111858805)

出0入0汤圆

发表于 2017-3-8 08:37:43 | 显示全部楼层
感谢分享  开挂一般编辑IAR工程
(111858565)

出0入4汤圆

发表于 2017-3-8 08:41:43 | 显示全部楼层
很厉害的样子啊  。可惜不怎么用iar

有没有适用于  keil的 ?
(111858536)

出0入0汤圆

发表于 2017-3-8 08:42:12 | 显示全部楼层
感谢分享,火钳刘明
(111858518)

出0入0汤圆

发表于 2017-3-8 08:42:30 | 显示全部楼层
用不上,帮顶,因为公司组内都是用MDK。。。我的主力编辑器用si,已经足够
(111858324)

出0入0汤圆

发表于 2017-3-8 08:45:44 来自手机 | 显示全部楼层
Si直接秒杀他了
(111858263)

出0入0汤圆

发表于 2017-3-8 08:46:45 | 显示全部楼层
IAR有Eclipse的插件,一直在使用,可以编译,Eclipse的编辑效果也不错~
(111858000)

出0入0汤圆

发表于 2017-3-8 08:51:08 | 显示全部楼层
非常不错,要顶
(111857984)

出0入0汤圆

发表于 2017-3-8 08:51:24 | 显示全部楼层

本帖子中包含更多资源

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

x
(111857975)

出0入8汤圆

发表于 2017-3-8 08:51:33 | 显示全部楼层
还是SI  好  才几M  最新版的也很小。
(111857813)

出0入0汤圆

发表于 2017-3-8 08:54:15 | 显示全部楼层
请问下生成注释是用的VAX的功能吗?怎么定义的快捷键?谢谢
(111857811)

出0入0汤圆

发表于 2017-3-8 08:54:17 | 显示全部楼层
谢谢楼主推荐
(111857747)

出0入0汤圆

发表于 2017-3-8 08:55:21 | 显示全部楼层
不错,赞一个,
虽然嵌入式 C/C++ 开发,我更推崇 SI 4.0,
不过,visual studio 毕竟是全宇宙最强的 IDE,关注一下,学习下新技能。
(111857734)

出0入0汤圆

发表于 2017-3-8 08:55:34 | 显示全部楼层
蛮实用的
(111857575)

出0入0汤圆

发表于 2017-3-8 08:58:13 | 显示全部楼层
好帖,把IAR工程导入VS。

有能把IAR工程导入SI的快捷方法吗?
(111857401)

出0入0汤圆

发表于 2017-3-8 09:01:07 | 显示全部楼层
感觉好利害,写C突然变的容易了
(111857352)

出0入0汤圆

发表于 2017-3-8 09:01:56 | 显示全部楼层
太强大了。。。
(111857289)

出0入0汤圆

发表于 2017-3-8 09:02:59 | 显示全部楼层
如果有mdk版本,就更赞了
(111857214)

出0入0汤圆

发表于 2017-3-8 09:04:14 | 显示全部楼层
好腻害,谢谢楼主
(111857157)

出0入0汤圆

发表于 2017-3-8 09:05:11 | 显示全部楼层
太霸气了,看起来很不错
(111857061)

出0入0汤圆

发表于 2017-3-8 09:06:47 | 显示全部楼层
好强大,谢谢,编辑功能不好用也是我一直不用iar的原因
(111857057)

出0入0汤圆

发表于 2017-3-8 09:06:51 | 显示全部楼层
用心推荐的,一定要顶!LZ好人!
(111856675)

出0入0汤圆

发表于 2017-3-8 09:13:13 | 显示全部楼层
gagmeng 发表于 2017-3-8 08:54
请问下生成注释是用的VAX的功能吗?怎么定义的快捷键?谢谢

楼主位,有介绍了此功能,我给你搬运一下:
基于 Atomineer Pro Documentation,只支持英文。
你再返回去看看楼主的介绍。
(111856628)

出0入0汤圆

发表于 2017-3-8 09:14:00 | 显示全部楼层
这开挂的脚步,实在太快,厉害啊
(111856408)

出0入0汤圆

发表于 2017-3-8 09:17:40 | 显示全部楼层
不错!!!!!!!可惜不能编译
(111855991)

出0入0汤圆

发表于 2017-3-8 09:24:37 | 显示全部楼层
vs 很强大, 可以试试不那么强大的VS code
(111855877)

出0入0汤圆

发表于 2017-3-8 09:26:31 | 显示全部楼层
我一直用的SourceInsight 不过看起来用VS功能更高级
(111855781)

出0入0汤圆

发表于 2017-3-8 09:28:07 | 显示全部楼层
lr120363092 发表于 2017-3-8 09:17
不错!!!!!!!可惜不能编译

应该可以配置吧,IAR有个IarBuild的工具,支持命令行调用编译工程~
(111855568)

出0入0汤圆

发表于 2017-3-8 09:31:40 | 显示全部楼层
铁驴不倒! 发表于 2017-3-8 09:26
我一直用的SourceInsight 不过看起来用VS功能更高级

VS 可是号称全宇宙最强的 IDE。
不过 SI 4.0,较 SI 3.5 版本而言,也大大缩短了和 VS 的差距。
(111855557)

出0入0汤圆

发表于 2017-3-8 09:31:51 | 显示全部楼层
经鉴定,楼主标准的完美控.给个赞
(111855464)

出0入0汤圆

发表于 2017-3-8 09:33:24 | 显示全部楼层
  楼主开挂,谢谢分享。
(111855421)

出0入0汤圆

发表于 2017-3-8 09:34:07 | 显示全部楼层
本帖最后由 shower.xu 于 2017-3-8 09:35 编辑

确实开了挂。
(111855235)

出0入0汤圆

发表于 2017-3-8 09:37:13 | 显示全部楼层
楼主,方便共享一下那4个小插件吗?
(111854634)

出0入0汤圆

发表于 2017-3-8 09:47:14 | 显示全部楼层
如果能精简出VS2015的编译器就好了,好像以前有人做过VS2008的IDE精简版
(111854405)

出0入0汤圆

发表于 2017-3-8 09:51:03 | 显示全部楼层
SI直接秒杀之。
(111853908)

出0入0汤圆

发表于 2017-3-8 09:59:20 | 显示全部楼层
这个必须MARK,IAR的编辑器确实鸡肋,现在都是用IAR for Eclipse的插件,用起来感觉还可以,调试也没问题
(111853724)

出0入0汤圆

发表于 2017-3-8 10:02:24 | 显示全部楼层
谢谢分享   
(111852939)

出0入0汤圆

发表于 2017-3-8 10:15:29 | 显示全部楼层
多谢分享,VS真心好用
(111852864)

出0入0汤圆

发表于 2017-3-8 10:16:44 | 显示全部楼层
谢谢分享,楼主辛苦了, 赶紧试试去   
(111851672)

出0入0汤圆

发表于 2017-3-8 10:36:36 | 显示全部楼层
超赞!一直在用Visual Studio,不过一直都是手动建工程,就是添加头文件的时候麻烦一些。
(111850711)

出0入0汤圆

发表于 2017-3-8 10:52:37 | 显示全部楼层
谢谢分享,楼主辛苦了。
(111849464)

出0入0汤圆

发表于 2017-3-8 11:13:24 | 显示全部楼层
可以的,楼主是个肯钻研的人.  IAR开挂
(111848813)

出0入0汤圆

发表于 2017-3-8 11:24:15 | 显示全部楼层
感谢分享
(111848152)

出0入0汤圆

发表于 2017-3-8 11:35:16 来自手机 | 显示全部楼层
我们现在都不用什么IDE了,直接在sisource  insight 里面改,用makefile, 改完直接开编
(111847392)

出0入0汤圆

发表于 2017-3-8 11:47:56 | 显示全部楼层
谢谢分享,有空试一下看看
(111845989)

出0入0汤圆

发表于 2017-3-8 12:11:19 来自手机 | 显示全部楼层
看的好鸡冻   不知MDK可不可以用
(111845632)

出0入0汤圆

发表于 2017-3-8 12:17:16 | 显示全部楼层
这个厉害了,必须要顶~
(111844294)

出0入0汤圆

发表于 2017-3-8 12:39:34 来自手机 | 显示全部楼层
C ++搞嵌入式可以不
(111843588)

出0入0汤圆

发表于 2017-3-8 12:51:20 | 显示全部楼层
先收藏一下,好强大的样子
(111843250)

出0入0汤圆

发表于 2017-3-8 12:56:58 | 显示全部楼层
厉害,必须要顶~
(111843200)

出0入0汤圆

发表于 2017-3-8 12:57:48 | 显示全部楼层
很好很强大,免去自己建立工程的繁琐。
(111842946)

出0入0汤圆

发表于 2017-3-8 13:02:02 | 显示全部楼层
果然是开挂了,VS作为全宇宙最强大的IDE,用起来真爽
(111842850)

出0入14汤圆

发表于 2017-3-8 13:03:38 来自手机 | 显示全部楼层
干嘛不用visual code,那个更容易配置
(111842705)

出0入0汤圆

发表于 2017-3-8 13:06:03 | 显示全部楼层
vs 太大了,编译还要在iar上进行,一般嵌入式码代码的量不多,开不开挂影响不大,一般费神的思路上。
(111841469)

出0入0汤圆

发表于 2017-3-8 13:26:39 | 显示全部楼层
IAR脚本编译有人试过么
(111841408)

出0入0汤圆

发表于 2017-3-8 13:27:40 | 显示全部楼层
搞个支持si的不是更好
(111841177)

出0入0汤圆

发表于 2017-3-8 13:31:31 | 显示全部楼层
楼主可否讲解一下自动用VA添加doxygen注释?
(111840825)

出0入0汤圆

发表于 2017-3-8 13:37:23 | 显示全部楼层
感谢分享
(111838584)

出0入0汤圆

发表于 2017-3-8 14:14:44 | 显示全部楼层
楼主的vs风格样式怎么设置的?
(111836633)

出0入0汤圆

发表于 2017-3-8 14:47:15 | 显示全部楼层
目前使用 Keil , 功能不錯先收藏。
(111836602)

出0入0汤圆

发表于 2017-3-8 14:47:46 | 显示全部楼层
谢谢谢谢。mark
(111836186)

出0入0汤圆

发表于 2017-3-8 14:54:42 | 显示全部楼层
大声赞一个先
(111835147)

出0入0汤圆

发表于 2017-3-8 15:12:01 | 显示全部楼层
必须支持一下。
(111831803)

出0入0汤圆

 楼主| 发表于 2017-3-8 16:07:45 | 显示全部楼层

我测试过iar arm 7.5-7.8,stm8  2.1,2.2都没有问题,这个可能是版本比较老。如果方便可以把.ewp文件发给我研究下。
(111831729)

出0入0汤圆

 楼主| 发表于 2017-3-8 16:08:59 | 显示全部楼层
boboo 发表于 2017-3-8 08:45
Si直接秒杀他了

各有所爱吧,我就感觉si不好用
(111831601)

出0入0汤圆

 楼主| 发表于 2017-3-8 16:11:07 | 显示全部楼层

我测试过iar arm 7.5-7.8,stm8  2.1,2.2都没有问题,这个可能是版本比较老。如果方便可以把.ewp文件发给我研究下。
(111831336)

出0入0汤圆

 楼主| 发表于 2017-3-8 16:15:32 | 显示全部楼层
zxq6 发表于 2017-3-8 13:03
干嘛不用visual code,那个更容易配置

个人感觉vs code只是界面上和vs相似,功能性上差了很多最核心的intellisense并不支持,也没有va之类的插件。
(111831135)

出0入0汤圆

发表于 2017-3-8 16:18:53 | 显示全部楼层
MasterPhi 发表于 2017-3-8 16:11
我测试过iar arm 7.5-7.8,stm8  2.1,2.2都没有问题,这个可能是版本比较老。如果方便可以把.ewp文件发 ...


IARstm81.3

本帖子中包含更多资源

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

x
(111831080)

出0入0汤圆

发表于 2017-3-8 16:19:48 | 显示全部楼层
MasterPhi 发表于 2017-3-8 16:08
各有所爱吧,我就感觉si不好用

要说秒杀的话,那可能就是以 weight 来说,

不过话说回来,
SI 3.5 跟 VS 比,是差蛮多的,毕竟 VS 一直在更新,全宇宙最强嘛。
而 SI 4.0 版本,已经与时俱进了很多,当然还比不上 VS 智能。
(111830745)

出0入0汤圆

发表于 2017-3-8 16:25:23 | 显示全部楼层
兄弟! 真的很感谢帮助很大
(111830676)

出0入0汤圆

发表于 2017-3-8 16:26:32 | 显示全部楼层
现在才知道原来可以这么方便,感谢,这就试试
(111830469)

出0入0汤圆

发表于 2017-3-8 16:29:59 | 显示全部楼层
这个不错,虽然我不用iar,不过一般的编辑都是用的vs,偶尔用下qtcreator,clion也有尝试,不过最顺手的肯定是vs+va,vs宇宙第一IDE不是浪得虚名的
(111830068)

出0入0汤圆

发表于 2017-3-8 16:36:40 | 显示全部楼层
好好好,真的是开了挂了!
(111829075)

出0入0汤圆

发表于 2017-3-8 16:53:13 | 显示全部楼层
貌似很强大,总感觉IAR界面不友好,很单调。
(111828394)

出0入0汤圆

发表于 2017-3-8 17:04:34 | 显示全部楼层

貌似很强大,总感觉IAR界面不友好,很单调
(111828165)

出0入14汤圆

发表于 2017-3-8 17:08:23 | 显示全部楼层
MasterPhi 发表于 2017-3-8 16:15
个人感觉vs code只是界面上和vs相似,功能性上差了很多最核心的intellisense并不支持,也没有va之类的插 ...

这倒是的,不过,我自己感觉,最核心的自动完成功能,vs code 已经具备。亨好的是,iarr的工程,在vs code里面可以不用转换。
还有一个,vscode是免费的,安装文件只有30m左右
(111827602)

出0入0汤圆

发表于 2017-3-8 17:17:46 | 显示全部楼层
zxq6 发表于 2017-3-8 17:08
这倒是的,不过,我自己感觉,最核心的自动完成功能,vs code 已经具备。亨好的是,iarr的工程,在vs cod ...

IAR 的工程,在 Visual Studio Code 里面不用转换?
你指的的是,直接打开文件夹,指向工程文件夹吗?
我想楼主转换工程的意义,在于:物理归档的工程文件组织,跟 IAR 里面的工程组织,允许不一样(且允许存在例外文件,不被加入到 IAR 的工程)。
(111827461)

出0入14汤圆

发表于 2017-3-8 17:20:07 来自手机 | 显示全部楼层
security 发表于 2017-3-8 17:17
IAR 的工程,在 Visual Studio Code 里面不用转换?
你指的的是,直接打开文件夹,指向工程文件夹吗?
我 ...

是的,因为我只用到其自动完成功能,所以直接打开目录即用。其他高级功能,我就孤陋寡闻了哈。
(111827146)

出0入0汤圆

发表于 2017-3-8 17:25:22 | 显示全部楼层
zxq6 发表于 2017-3-8 17:20
是的,因为我只用到其自动完成功能,所以直接打开目录即用。其他高级功能,我就孤陋寡闻了哈。 ...

我觉得,你如果只在意自动完成功能的话,
那么 SI 4.0,在嵌入式 C/C++ 领域,会更好用,而且更 light weight。
(111826723)

出0入14汤圆

发表于 2017-3-8 17:32:25 来自手机 | 显示全部楼层
security 发表于 2017-3-8 17:25
我觉得,你如果只在意自动完成功能的话,
那么 SI 4.0,在嵌入式 C/C++ 领域,会更好用,而且更 light we ...

si对中文支持不好,而且熟悉了vs的字体,一时换不过来。
(111826471)

出0入0汤圆

发表于 2017-3-8 17:36:37 | 显示全部楼层
zxq6 发表于 2017-3-8 17:32
si对中文支持不好,而且熟悉了vs的字体,一时换不过来。

你对 SI 的印象,应该还停留在 3.5 时代。
今年刚推出 4.0 版本,可以说是一个大更新,功能极大的增强了,你说的问题,已经不复存在了。
字体是可以换的嘛。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号-1 )

GMT+8, 2020-9-23 00:31

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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