现在真是IAR越用越顺手,也日益觉着IAR的确很强大,有点爱不释手的赶脚,所以目前还是老老实实的用着IAR吧。本篇博客就IAR自带的代码模板编辑功能做个简单的介绍(可能刚上手的没注意到过),并且在此基础上给出了一些实用性的应用,个人觉着还是挺不错的,至于能不能用的着,那就看自己了,哈哈,今儿废话不多说了,下面直接进入正题了:
1.首先我们先看看IAR自带的"if"和"for"模板,点击菜单栏Edit->Code Templates->Insert Templates,然后选择如下图所示:
(1)建立"if"模板
(2)建立“for”模板
2.怎么样,看到上面的实例是不是引起了些许兴致来,哈哈,如果是你自己定制这些个模板估计会给我们很大的成就感吧,下面就带大家尝尝鲜:
(1)点击Edit->Code Templates->Edit Templates,打开定制文件(CodeTemplates.ENU.txt),会看到系统自带的已经定制好的"if"和“for”模板的代码(即实现了上面所示的功能代码),如下图所示
(2)从上图看到的是一堆命令,估计好些个人会立刻产生一种高深和无力感(这种感觉往往影响了自己继续探知下去的动力),之所以有这种感觉是因为我们没有接触过没了解过,但等你深入去了解去探究的时候,一切就会豁然开朗了,其实这是好些初踏进技术门槛的初手们常常会出现的陋习,造成对一些深层次的东西浅尝则止,进步缓慢(呵呵,这里就多啰嗦了几句,有则改之无则加勉)。回归正题,上图具体的命令所代表的含义是什么呢,其实可以从该txt文件开头出的英文注释头了解一番,如下图:
呵呵,看到E文的说明估计有些E文不好的同志该头疼了,下面翻译过来是这样的:
定义模板的语法是#TEMPLATE<template name> ,<field> [=默认值] <field> ...;
模板名称,参数名称和参数的默认值在引号(“”)内定义,使用单字母(无空格符隔开)则可以省略引号,即引号(””)只有在模板名称,参数名称和参数的默认值包含空格符时候才必须用;
参数与模板名称,各个参数之间以逗号(,)区分定义;
使用(&)定义其后第1个ASCII字符为快捷键<letter>,可以定义在模板名称,参数名称的任意位置;
模板名称定义时使用(>)格式符组织多层级模板子菜单结构。
主要用的格式符包括:(>)、引号(””)、逗号(,)、(&)、空格符。
(3)呼。。。其实解释命令格式之类的是个很累的活,可能大家都会觉着还是直接上例程对比着来领悟的快,呵呵,所以下面就直接上例子了,在“for”模板之后添加如下代码:
#TEMPLATE &Function>&Function,"Routine &name","&Description","&Notes"
/********************************************************************************
**Routine: %1
**Description: %2
**Notes: %3
********************************************************************************/
void %1(void)
{
%c
}
保存之后,点击Edit->Code Templates->Insert Templates,弹出如下图:
注意:代码内容中首先为代码模板的语法部分,其次是模板的内容,其中#TEMPLATE为模板定义字;&Function>&Function模板在使用时候显示于菜单中的各层级名称;其后为各个参数项的定义,以逗号(,)区分。对比模板内容和使用界面我们可以看到,各个参数以(&)定义,在模板内容中各个参数以%1开始依次到%n表示,%c为插入函数时候光标位置。
代码模板定制就这么简单,为了方便开发你可以根据语法自由定制一些常用的模板,起到事半功倍的效果,怎么样,心动不如行动啊,赶紧试试吧,呼呼。。。未完待续~
此为我获益的源地址链接,说的比我详细,呵呵,有耐心的可以仔细瞅瞅了http://www.ourdev.cn/forum.php?mod=viewthread&tid=4871665&highlight=IAR%2B%E6%A8%A1%E6%9D%BF