TODO/Wish list

Here is a list of things that may be added in the future. As you can see, there are way too many things on the list for me to do in any reasonable amount of time! So if you'd like to implement one or more of these features for me, please let me know!

Difficulty level colors
 1   2   3   4   5   6   7   8   9   10 

No. Feature description Est. Difficulty
1. Expand namespaces in the file docs with the contents that are specific to the file (maybe also expand the classes inside a namespace). 4
2. Better CSS names and more layout diversity options 2
3. It would be nice if documentation was produced even if the class or file description was missing, as long as any single item in the file or class was documented. 4
4. The <title>...</title> part of a HTML page is always in English and doesn't contain the project name which make it hard to read or bookmark. 3
5. Generate a LaTeX type of index for HTML as well. 3
6. Generate code metrics page with all kinds of statistics about the project. Examples:
  • Number of functions/classes/methods/files and their documentation coverage.
  • average number of arguments per function/method.
  • average number of lines per file
  • average number of lines per function/method.
  • number of global/public variables in files/classes.
  • etc.
7. Add support to parse/document other languages.
Suggested are: Perl, Ruby, Flex, Yacc, SQL, Visual Basic, Matlab, Verilog, Bash shell scripts.
8. Requested by Erik Johannes:

The ability to include a block of text from a file. This should not always be all the contents of the file, but instead a specific region from the file.

Suggested are the following tags:

  • @import <file> [region-tag]
    Imports the contents of the file in to the current stream of processing. The imported text is treated as if it had been located at the site of importation. If the optional [region-tag] is specified, then only those regions in the file being imported that have the specified [region-tag] will be imported. All other contents of the imported file will be ignored.

  • @region <region-tag> [skip-lines]
    Specifies the beginning of a region that can be imported into the processing stream of another file using the import command. The importation will begin at the line following the line the region command is found on. The optional [skip-lines] parameter can be used to specify that the next n lines following the line containing the region command should not be imported. Importation will continue until an endregion for the specified tag is found or the end of file is reached.

    The importation is verbatim with the exception of an other embedded region/endregion lines within the region block being imported. Those embedded region/endregion lines will be excluded from the importation.

  • @endregion <region-tag>
    Ends the current named region specified by the tag.
9. Makes better use of cascading style sheet tags in the HTML output, so user configuration becomes easier. 2
10. To improve documentation of exceptions (requested by Kor de Jong):
  • Add an Exceptions... link to brief descriptions (similar to the More... link) to signal that a function has documented exceptions to throw.
  • Add a link from an exception in a member declaration directly to their section in the documentation block.
11. Add support for new output formats. Suggested are: OpenDocument,XHTML,SGML,DocBook,Framemaker. 9
12. It could be useful to enable \ingroup for a \page For instance if you have some small programs belonging to a library with manually written \page's it would be nice to have them as a section of their own on the modules page. 2
13. User defined time/date format (push format through strftime()) 2
14. Add option to show/hide private inherited classes. 2
15. add support for argument matching in case of function/method specializations. 8
16. Option to not print the whole namespace when there is no ambiguity. 5
17. Collaboration graphs: show Reference & containment relations with different colors. 3
18. It would be nice to add the possibility to specify a short description for each example, that will appear right to the file name in the 'examples' section (like in the 'compound list' section). 2
19. Add an \addendum command to add a documentation block to an existing one (for adding a history block to the file documentation for instance). 2
20. It would be nice to have a visible indication for abstract classes (i.e. all member pure virtual) in the class diagram. 2
21. Option to automatically create group things based on the directory structure of a project. 6
22. Graphical overview of the relations between all classes. 4
23. Create graphical overview of all groups and their relations. 6
24. Allow throw clauses to be documented on the spot 5
25. Only regenerate those files that have changed. 10
26. Allow implementation notes to be attached to a documented header file (using @supplemental command). 6
27. Option to show nested classes only as part of the outer class' documentation. 7
28. If a derived class has a membergroup with the same name as the base class then merge the groups. 4
29. Have a command "\pattern list of classes" to show class relations for a design pattern / have commands to introduce artificial relations between classes (or files). 6
30. Add documentation for developers and add doxygen comments to the doxygen sources, so is easier for others to understand how doxygen works. 7

If you think some feature missing from this list, please let me know.

Go back to the main page.