在使用的IAR编写代码的时候,如果函数不写注释,害怕自己以后看不懂,如果要写注释,每个函数前面都要写一大堆一样的东西,写起来太麻烦了。于是想着能不能搞个一键插入代码的功能,将注释的格式像模板一样,直接插入到函数前面。这样岂不是很方便。
在网上搜了一下,IAR果然自带了这种功能,下面就详细说明一下如何添加自定义模板。
首先看一下函数添加统一注释后的效果

下面开始添加模板,打开IAR编译器,在菜单栏中选择 Edit —Code Template — Edit Template

此时会打开一个文本,在文本的最后面添加下面的注释模板。
#TEMPLATE &Function>&Function,"Function &name","Input ¶meter","Return ¶meter","Description"
/*******************************************************************************
* @function : %1()
* @param : %2
* @return : %3
* @description : %4
*******************************************************************************/
void %1(void)
{
%c
}
添加完成后保存,然后打开c文件,将光标放到要添加注释的位置处。然后选择 Edit —Code Template — Insert Template,也可以使用快捷键 Ctrl + Alt + V打开。

选择Function — Function

这时就会打开一个函数注释模板

这个模板上的显示的信息就是刚才在记事本里面添加的内容。
添加的内容第一句话 #TEMPLATE 后面的 &Function>&Function 这个名字就是菜单栏里面显示的名字。

后面双引号里面的内容分别对应着对话框前面的提示信息,现在就可以在对话框中填入内容了。

在底下就可以预览生成的注释模板,填入完毕后点右边OK按钮。

这时在C文件中就自动生成了一个函数模板和相应的注释,在函数里面直接编写函数内容就行了。这个模板中函数不传入参数。下面再新建一个带参数的模板。
还是按照上面的方法在菜单栏中选择 Edit —Code Template — Edit Template,打开文本,在最后面添加下面的模板内容。
#TEMPLATE &Function>&Fun_param,"Function &name","Input ¶meter","Return ¶meter","Description"
/*******************************************************************************
* @function : %1()
* @param : %2
* @return : %3
* @description : %4
*******************************************************************************/
%3 %1( %2 )
{
%c
}
选择模板的时候选择 Fun_param

这个里面的“1%”就表示第一个参数的内容,“4%”就表示第四个参数的内容,这样就可将在函数模板文本框中填入的内容直接添加到代码中去。

代码模板中的“1%”替换为第一个文本框中的内容,也就是函数名。“2%”替换为第二个文本框中的内容,也就是传入的参数。“3%”替换为第三个文本框中的内容,也就是返回值类型。点右边OK按钮,生成函数。

可以看到此时生成的函数就有了参数和返回值了,这样写代码起来就方便多了。根据这个模板的语法特点还可以自己定义其他样式的模板。
接下来在新建一个文件说明的模板,添加到程序最开始的位置,用来说明当前程序的功能,编写时间,作者等相关信息。还是同样的方法在菜单栏中选择 Edit —Code Template — Edit Template,打开文本,在最后面添加下面的模板内容。
#TEMPLATE "&FileDeclare>&FileHeader",&Description,&Version="v1.0",&Author="hxydj",&date="$DATE$",&Built="$TOOLKIT_DIR$"
/************************* (C) COPYRIGHT hxydj @2022 *************************
* File : $FILE_FNAME$
* Summary : %1
* Platform : stm8s003f3p6
* Author : %3
* Change Logs :
* Date Version Author Notes
* %4 %2 %3 first version
* STM8 Hardware connect
-----------------------------------
LED1 ----> PB5
-----------------------------------
***************************************************************************/
保存内容,然后在菜单栏中选择模板。

选择FileDeclare — FileHeader 这个名字也是刚才在记事本中添加的模板中定义的,自己可以修改。

此时发现好多内容已经自动填上去了,这个是怎么实现的呢?

对比模板内容可以发现,在模板中的字符串或者特殊的变量值可以自动获取并添加到注释中去。“1%”为第一个文本框中输入的内容。“3%”为第三个文本框中输入的内容,而第三个文本框中的内容 通过 &Author="hxydj"这句话已经自动填入了。这样只需要填写文件描述就可以了。

添加文件描述,然后点OK按钮。

此时在文件最开始处就生成了文件说明注释。

这样自己的程序看起来就正规很多了,也美观了不少。