Click here to Skip to main content
15,883,877 members
Articles / Programming Languages / Visual Basic
Article

Improved Method Documentation for Visual C++

Rate me:
Please Sign up or sign in to vote.
3.27/5 (5 votes)
24 Jun 20042 min read 63.4K   868   19   16
Customizable method documentation generator

    Introduction

    In my previous documentation article Method Documentation Utility for Visual C++ 6 I received comments that the Add-in does not support Doxygen format. The truth is that it didn’t support any format, it was totally hard coded.

    This new Add-in gives the user the option to decide his own format for the documentation using a simple configuration screen. The default format will be Doxygen.

    Description

    Like the previous Add-in, here you will be able to press a toolbar button (or any shortcut key you assigned to it) and a skeleton for documentation will appear above the method/function. The documentation will contain the following parts:

    • General – general description of the method
    • Return value – explain what will be the return value
    • Parameter – any parameter can be documented
    • See also – reference for another method or parts in the code
    • Documentation start – beginning of documentation
    • Documentation end – end of documentation

    The Doxygen format which most of you know and it’s the default format for the Add-in look like this:

    C++
    //! Method description
    /*!
    \param nF - description
    \param nS - description
    \return bool - description
    \sa func2()
    */
    bool func(int nF, int nS);

    There are other formats but I chose this one because I am used to it.

    All you have to do to generate the documentation is to put the cursor one line before the method or on the same line as the method like this:

    C++
    [Cursor Here] 
    bool func(int nF, int nS); 

    Then press the Add-in's left button or your selected keyboard shortcut.

    The Add-in extracts the method’s text. It starts with the next line of the cursor and collects the text until it reaches ‘)’. It then parses the text. Currently I am parsing only the return value and the parameters list. If any need for additional information like: virtual/const will arise it will be added to the tool.

    Customizing The Documentation

    The customization dialog looks like this:

    Sample Image - MethodDoc2.jpg

    To reach this screen, just press the right button of the addin.

    Here you can change the template of the documentation. It is based on tags, each tag represents a different element in the documentation:

    Parameter, returned value...

    To change the value of a tag just select the tag and enter your own text in the textbox at the buttom. The right box shows you an example of how the documentation will look like.

    Installing the Add-in

    To install the binary and use it under Visual C++ 6 please read the Readme.txt file added in both zip files

    The code was tested under Windows2000/XP only and it may work under windows 98 but who knows for sure…

    License

    This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

    A list of licenses authors might use can be found here


    Written By
    Web Developer
    Israel Israel
    This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

    Comments and Discussions

     
    QuestionVC++ 2005 Pin
    Dean DSA10-Nov-06 11:47
    Dean DSA10-Nov-06 11:47 
    Generaladvanced param parsing Pin
    Michael Schoenherr27-Jun-04 19:05
    sussMichael Schoenherr27-Jun-04 19:05 
    GeneralRe: advanced param parsing Pin
    Ilan Shapira27-Jun-04 20:15
    Ilan Shapira27-Jun-04 20:15 
    GeneralRe: advanced param parsing Pin
    peterchen27-Jun-04 22:33
    peterchen27-Jun-04 22:33 
    GeneralRe: advanced param parsing Pin
    Ilan Shapira28-Jun-04 7:46
    Ilan Shapira28-Jun-04 7:46 
    GeneralMethod Documentation Util Pin
    VKatti27-Jun-04 9:57
    VKatti27-Jun-04 9:57 
    GeneralRe: Method Documentation Util Pin
    Ilan Shapira27-Jun-04 10:24
    Ilan Shapira27-Jun-04 10:24 
    GeneralRe: MSXML Pin
    allting15-Sep-05 4:48
    allting15-Sep-05 4:48 
    GeneralSuggestion Pin
    Hans Dietrich26-Jun-04 14:28
    mentorHans Dietrich26-Jun-04 14:28 
    GeneralRe: Suggestion Pin
    Ilan Shapira27-Jun-04 9:37
    Ilan Shapira27-Jun-04 9:37 
    GeneralRe: Suggestion Pin
    vladfein28-Jun-04 7:36
    vladfein28-Jun-04 7:36 
    GeneralFiles where uploaded Pin
    Ilan Shapira26-Jun-04 5:30
    Ilan Shapira26-Jun-04 5:30 
    GeneralBoth download links are broken Pin
    Hans Dietrich25-Jun-04 15:40
    mentorHans Dietrich25-Jun-04 15:40 
    GeneralRe: Both download links are broken Pin
    Ilan Shapira26-Jun-04 4:21
    Ilan Shapira26-Jun-04 4:21 
    GeneralRe: Both download links are broken Pin
    mkcx29-Jun-04 0:43
    mkcx29-Jun-04 0:43 
    GeneralRe: Both download links are broken Pin
    Ilan Shapira29-Jun-04 1:59
    Ilan Shapira29-Jun-04 1:59 

    General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

    Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.