CLion自定义代码模板
使用CLion的过程中可以发现新创建的文件都自动加入了文件头,其中包含了一些基本信息。其实,除了文件头,还有各种各样的代码补全块或者自定义模板可以使用。
自定义文件头
自定已文件头可以在创建文件的时候自动添加创建的信息,比如:文件名、作者、时间、公司、著作权声明等等。
设置方法
在菜单File > Settings > Editor > File and Code Templates
中找到C File Header
选项,然后编辑右侧的文本框定义相关内容,如下所示:
其中,author
字段可以使用${USR}
变量来自动引用操作系统的用户名,或者直接用字符常量代替,其他字段字段可以自行添加。下面给出我自己的设置:
/********************************************************************************
* @author: Song Jiahao
* @email: songjiahao@whu.edu.cn
* @date: ${DATE} ${TIME}
* @version: 1.0
* @description:
********************************************************************************/
示例
创建新的文件时,会自动生成这样对应的文件头,如下所示:
自定义代码段
CLion也提供了自定义代码段的功能,比如自定义for循环,while循环等。
方法
这里以自带的for循环为例解释如果定义一个代码段。在菜单File > Settings > Editor > Live Templates
中找到C/C++模板组,点击右侧的加号可以添加Live Template,例如以下为for循环的模板内容:
1.缩略词,即用于触发补全的字符,可以自己定义,但是请注意不要有冲突。
2.对当前模板的描述。
3.模板文本,其中用$字符包括的为自己定义的变量,可以再通过编辑变量来实现想要效果。
4.模板适用范围,点击change按钮可以勾选模板的适用范围,如下所示:
5.编辑模板中的变量,可以使用CLion提供的函数(详情参考官方文档)或者搭配使用正则表达式等脚本来实现变量的赋值,如下所示:
其中INDEX由建议命名规则赋值,COPY_INDEX等于INDEX的值,UPPER_BOUND则留空,这样可以通过Tab键跳转到相应位置。
6.可以选择相应的触发按键以激活模板内容。
示例
自定义注释模板
除了自定义文件头,自定义代码块,也可以自定义一些常用的注释模板,比如自定义一些适用于doxygen工具的模板,便于将来生成文档。这里给出一些我自己常用的注释模板,因为google推荐一行80个字符,所以我这里模板中使用了80个星号。
方法
定义的方法与自定义代码段相同,我这里的相对比较简单,其中$END$表示模板激活后,光标最后停留的位置。
示例
多行注释
使用两个星号触发。
/********************************************************************************
* $END$
********************************************************************************/
函数注释
使用三个星号触发。
/********************************************************************************
* @author: Song Jiahao
* @date: $DATE$ $TIME$
* @brief: $END$
* @params: $param$
* @return: $return$
********************************************************************************/
代码修改注释
使用/modify
触发。
/********************************************************************************
* @author: Song Jiahao
* @date: $DATE$ $TIME$
* @modify: $END$
********************************************************************************/
代码块开始和结束注释
分别使用/start
和/end
触发。
/********************************************************************************
* ------ $END$ ------ start
********************************************************************************/
/********************************************************************************
* ------ $END$ ------ end
********************************************************************************/
步骤注释
使用/step
触发。
/********************************************************************************
* Step$END$
********************************************************************************/
Comments | 1 条评论
博客作者 dwj
这是一条私密评论