Thursday, November 04, 2010

DocMounter 2: A tool to build VS.NET documentation (now with Sandcastle)

Table of contents
  • Short introduction
  • Main features
  • Simplicity, Simplicity and Simplicity once more
  • DocMounter 2 and Sandcastle
  • Easy start
  • Describing classes and their members
  • Creating and managing conceptual topics
  • Resume: Main benefits of DocMounter
  • DocMounter binaries and source code

Short introduction
From the first versions of Visual Studio .NET, it has been possible to document your classes directly in code and create the standard documentation sections (such as the summary, remarks, parameter descriptions etc) which contain the standard tags. But for us, developers, it was quite inconvenient to fully document our classes and create such long sections as remarks directly in code. The situation is worse in the case when the documentation is created by a technical writer and the code is created by a developer; it is not quite appropriate for them to work with the same source files simultaneously.
Our company also encountered all these problems while working on our first .NET component. We decided to solve them by creating our own tool and gave it a name "DocMounter". DocMounter became a tool to separate the code from the documentation without loss of the conveniences provided by Visual Studio, and even more. Step by step the tool was being improved, and finally it has become an easy-to-use application that can be useful for other developers. The actual version implements many useful features you cannot get from the standard VS XML documentation technique.
CodeProject already contains a post about the first version of our tool (see this article), but we decided to publish a new one regarding the next generation of the tool we have recently released. The tool was practically rewritten in 80% of places and now it is practically a brand new tool (though we tried to keep the visual simple ideology the same), so we thought the tool deserved a new article.
Main features
DocMounter allows you to perform the following tasks:

  1. Enter all the standard sections such as summary, remarks, example, see also, etc for classes and their members through its visual interface.
  2. Add standard XML documentation tags - such as see, code, list, table, etc - through a handy insert tag dialog.
  3. Create additional topics using the same syntax as for the classes and their members (XML documentation syntax).
  4. Manage the nodes of your project, i.e. the structure of the table of contents of the future help file.
  5. View and edit the source of your topics in an editor window that supports syntax highlighting, customizable spell checking and code folding.
  6. Create conceptual topics (which are not related to a particular class or its member) using the same syntax as for the classes and their members.
  7. Generate the standard XML documentation files which can be used in any tool and development environment that supports it (including all versions of Visual Studio .NET).
  8. Generate a single HTML file from all the additional topics. Later this file may be slightly edited and converted into a DOC, RTF, or PDF format and used as a manual.
  9. The internal extensible model of DocMounter allows to integrate external documentation compilers (such as NDoc or SandCastle) to produce the required output documentation.

Read more: Codeproject