DoxygenToolKit.vim 插件配置
如何才能既享受 Doxygen 的强大功能,同时又避免大量的重复性的注释内容?
解决思路: 让编辑器来替我们写那些格式和内容固定的部分,我们只负责写真正的有效内容。
所以,答案就是:Vim + DoxygenToolKit.vim 插件
DoxygenToolKit
DoxygenToolKit 是 Vim 的一款插件,用它可以很方便地添加 Doxygen 风格的注释,可以节省大量时间和精力,提高写代码的效率。
DoxygenToolKit Official Website 官网上介绍,目前定义了 5 个功能:
Generates a doxygen license comment. The tag text is configurable.
Generates a doxygen author skeleton. The tag text is configurable.
Generates a doxygen comment skeleton for a C, C++ or Python function or class, including @brief, @param (for each named argument), and @return. The tag text as well as a comment block header and footer are configurable.
(Consequently, you can have \brief, etc. if you wish, with little effort.)Ignore code fragment placed in a block defined by #ifdef ... #endif (C/C++). The block name must be given to the function. All of the corresponding blocks in all the file will be treated and placed in a new block
DOX_SKIP_BLOCK (or any other name that you have configured). Then you have to update PREDEFINED value in your doxygen configuration file with correct block name. You also have to set ENABLE_PREPROCESSING to YES.Generate a doxygen group (begining and ending). The tag text is configurable.
Installation
如果我们使用 Vundle 管理插件,安装步骤就非常简单了:
在 Vundle 中加入:
Bundle 'DoxygenToolkit.vim'
打开 Vim,输入命令:
:BundleInstall
Vundle 会自动完成安装 :-D
Configuration for c++
我们有两种方法可以修改设置,方法一是直接在 DoxygenToolKit.vim 脚本文件中修改相关变量;方法二是在 ~/.vimrc 里面修改。显然方法二更加好一点,因为如果用方法一直接改原脚本,可能还得保存备份才能恢复默认值。
因为平时写的 C++ 程序比较多,所以针对基于 Doxygen 的 C++ 注释风格,我们需要进行以下几步:
在 .vimrc 中我特别配置了以下命令:
let g:DoxygenToolkit_briefTag_funcName = "yes" " for C++ style, change the '@' to '\'
let g:DoxygenToolkit_commentType = "C++"
let g:DoxygenToolkit_briefTag_pre = "\\brief "
let g:DoxygenToolkit_templateParamTag_pre = "\\tparam "
let g:DoxygenToolkit_paramTag_pre = "\\param "
let g:DoxygenToolkit_returnTag = "\\return "
let g:DoxygenToolkit_throwTag_pre = "\\throw " " @exception is also valid
let g:DoxygenToolkit_fileTag = "\\file "
let g:DoxygenToolkit_dateTag = "\\date "
let g:DoxygenToolkit_authorTag = "\\author "
let g:DoxygenToolkit_versionTag = "\\version "
let g:DoxygenToolkit_blockTag = "\\name "
let g:DoxygenToolkit_classTag = "\\class "
let g:DoxygenToolkit_authorName = "Qian Gu, guqian110@gmail.com"
let g:doxygen_enhanced_color = 1
"let g:load_doxygen_syntax = 1即使前一步中设置了 C++ 风格,但是生成的 Lisence 仍然是
//
,而不是我们想要的///
,所以我们还需要修改原脚本(line 362~363)为:let g:DoxygenToolKit_startCommentBlock = "/// "
let g:DoxygenToolKit_interCommentBlock = "/// "
Usage
官网上也给出了使用方法:
License
将光标放在需要生成 License 的地方,然后输入命令
:DoxLic
Author
将光标放在合适的地方,然后输入命令
:DoxAuthor
Function / Class
将光标放在 function 或者 class 的名字所在的一行,然后输入命令
:Dox
Ignore code fragment (C/C++ Only)
如果想忽略调试部分的代码,那么只需要执行命令
:DoxUndoc(DEBUG)
即可Group
输入命令
DoxBlock
来插入一个注释块
为了方便使用,我们可以自定义一些 map,省去输入命令的繁琐。
Example
同样是官网上的例子:
假设有个函数如下
1 |
int |
那么执行 :Dox
命令之后会生成以下内容
1 |
/** |
Ref
DoxygenToolKit.vim 插件配置的更多相关文章
- 「个人vim插件+配置」
2016.10.4 filetype indent on syntax on set nu ai ci si set sw= ts= set autochdir set backspace= colo ...
- vim 插件配置博客记录
本来打算自己写下各种经常使用vim的插件安装方法, 可是搜索了下, 发现别人都写过了, 在写一遍也没有意思, 特此记录. Vim 经常使用命令 http://blog.csdn.net/hittata ...
- vim插件配置
OS:kali linux tool:vim 上图: 0x00 需要用到的插件及其下载地址 左边的一栏显示文件目录结构的用到的插件为 NERDTree 下载地址:https://github.com/ ...
- vim插件配置(一)
vim代码自动显示提示代码插件:AutoComplPop: 代码(普通变量函数) c/c++代码(类的 . , ->, :: 操作符)的自动补全插件: OmniCppComplete
- 我的vim插件配置
set nocompatible " be iMproved, required filetype off " required " set the runtime pa ...
- 常用VIM插件配置
airline 状态栏美化 除了airline本体还要下airline主题 和打过powerline补丁的字体 常用设置: set laststatus=2 " 总是显示状态栏 set no ...
- vim学习、各类插件配置与安装
vim学习.各类插件配置与安装 vim 插件 配置 1. vim学习 vim基础学习:根据网上流行基础文章<简明Vim练级攻略>,进阶书籍<vim实用技巧>.注:进阶书籍可以在 ...
- vim插件和配置
vim插件和配置 插件 pathogen 可以方便地管理vim插件 在没有pathogen的情况下,vim插件的文件全部都放在.vim目录,卸载插件很麻烦,pathogen可以将不同的插件放在一个单独 ...
- vim学习、各类插件配置与安装【转】
转自:https://www.cnblogs.com/forest-wow/p/6916531.html 1. vim学习 vim基础学习:根据网上流行基础文章<简明Vim练级攻略>,进阶 ...
随机推荐
- FPGrowth
在挖掘关联规则的过程中,无可避免要处理海量的数据,也就是事务数据库如此之大,如果采用Apriori算法来挖掘,每次生成频繁k-项集的时候,可能都需要扫描事务数据库一遍,这是非常耗时的操作.那么,可以想 ...
- 数据挖掘进阶之序列模式挖掘GSP算法
数据挖掘进阶之序列模式挖掘GSP算法 绪 继续数据挖掘方面算法的讲解,前面讲解了数据挖掘中关联规则算法FP-Growth的实现.此篇博文主要讲解基于有趣性度量标准的GSP序列模式挖掘算法.有关论文后期 ...
- Unix - ls命令的简要实现
#include <dirent.h> 是POSIX.1标准定义的unix类目录操作的头文件,包含了许多UNIX系统服务的函数原型,例如opendir函数.readdir函数. opend ...
- IDE
IDE(Integrated Development Environment,集成开发环境).DE集成开发环境(简称IDE)软件是用于程序开发环境的应用程序,一般包括代码编辑器.编译器.调试器和图形用 ...
- 高仿qq健康
概述 学习别人的代码,在此基础上 优化代码结构 增加动画 要点记录 通过mRatio参数,让宽高始终是一个比例 贝塞尔曲线手动画矩形圆角 画虚线 根据基准点绘制文字 属性动画的使用 画笔宽度的自适应 ...
- Java中使用C3P0连接池
先看官网给的范例: import java.sql.*; import javax.naming.*; import javax.sql.DataSource; import com.mchange. ...
- 恶补web之三:http学习
http是超文本传输协议的简称,该协议设计目的是保证客户机与服务器之间的通信.http的工作方式为客户机与服务器之间的请求-应答协议. 一般来说web浏览器是客户端,计算机上的网络应用程序可能作为服务 ...
- java多线程的基础-java内存模型(JMM)
在并发编程中,需要处理两个关键问题:线程之间如何通信,以及线程之间如何同步.通信是指线程之间如何交换信息,在命令式编程中,线程之间的通信机制有两种:内存共享和消息传递. 同步是指程序中用于控 ...
- python3+django2 开发易语言网络验证(中)
第四步:网络验证的逻辑开发 1.将model注册到adminx.py中 1.在apps/yanzheng目录下新建admin.py 文件,添加代码: import xadmin from xadmin ...
- 使用Owin的WebApi,并分离Controllers
1.新建空白web项目 2.添加新建项=>OWIN Startup类(此时会自动下载owin,放在Packages里) 3.在Startup中输入 public void Configurati ...