簡體   English   中英

用於C ++的vim中的Doxygen風格的注釋

[英]Doxygen-style comments in vim for C++

我想自動插入C ++文件的注釋片段。 谷歌搜索建議使用c.vim插件。 我安裝了它。 現在,當我創建一個文件時,我會得到如下的模板。

 /* =====================================================================================
  *
  *       Filename:  Foo.h
  *
  *    Description:  :
  *
  *        Version:  1.0
  *        Created:  04/14/2014 08:35:44 PM
  *       Revision:  none
  *       Compiler:  gcc
  *
  *         Author:  YOUR NAME (), 
  *   Organization:  
  *
  * =====================================================================================
  */

來自:h csupport我抓住我可以創建自己的評論模板。 是否有更簡單的方法在項目中獲得doxygen風格的評論? 或者這些模板可能在某處可用?

如果您只需要這些注釋而不是c.vim的其他功能,我建議您使用一些片段插件,例如SnipmateUltisnips 使用這些插件創建這樣的代碼段非常簡單,而且功能非常強大。

你可以使用Doxygen插件來實現vim。 它可以在這里找到 只需輸入:Dox即可添加您的評論。

例如,

/**
 * @brief 
 *  
 * @param list 
 * @param size
 * @param key
 * @param rec
 *
 * @return 
 */
bool jw_search ( int *list, int size, int key, int& rec )
{
    return true;
}

lh-cppmu-template帶有可調項目標題(默認情況下我不得不承認)。 您必須將templates / c / internals / c-file-header.template覆蓋為:

VimL: let s:filename = s:path_from_root(expand('%:p'))
VimL: let s:prj_dox_group = lh#option#get('my_prj_dox_group', lh#marker#txt('group'))
/**@file <+s:filename+>
 * @ingroup <+s:prj_dox_group+>
 * @author  <+Author()+>
 * <p>Licence:<p> Your Project Licence
 */

(所有其他的東西已經被處理了:包含警衛將自動添加到頭文件中,foo.h將自動包含在foo.c(pp)中)

然后在類似local_vimrc的插件中 ,你必須設置:

" File: /root/path/of/the/project/_vimrc_local.vim
:let b:my_prj_dox_group = "gMain" " you can override it in subfolders
:let b:sources_root = '/root/path/of/the/project' " for mu-template
:let b:includes = [b:sources_root . '/**'] " I can't remember which ftplugin uses b:includes
:let b:included_paths = [b:sources_root] " for ftplugin/c/c_AddInclude.vim
:let g:alternateSearchPath = 'sfr:.' " (or equivalent) for a.vim and for foo.cpp to include foo.h

BTW,lh-cpp還帶有:DOX命令,它將解析函數簽名以自動生成其doxygen標題(@ param [in / out / 0],@ return,@ ingroup,@ throw( noexcept和不推薦的異常)規范分析),...將盡可能自動填寫)

如果我們采用Saraht的例子,那就變成了:

/**
 * «brief explanation».
 * «details»
 * @param[«in,»out] list  «list-explanations»
 * @param[in] size  «size-explanations»
 * @param[in] key  «key-explanations»
 * @param[«in,»out] rec  «rec-explanations»
 *
 * @return «bool»
 * «@throw »
 * @pre <tt>list != NULL</tt>«»
 */
bool jw_search ( int* list, int size, int key, int& rec )

注意: «»出現標記占位符

PS:我不知道如果你保留c.vim它將如何表現,因為我不使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM