at*mineer

productsuserguideskinsfaqchangesdownload

AtomineerUtils Add-in for Visual Studio 2005, 2008 & 2010

AtomineerUtils is an add-in for Visual Studio that provides unsurpassed code documentation (DocXml and Doxygen) comment generation and updating, as well as several handy outlining, code generation and clipboard commands.

AtomineerUtils supports C#, Visual Basic, C++/CLI, C++, and C code

It is available in two forms:

  • AtomineerUtils (free), providing a fully functional documentation engine (with a fixed comment style).
  • AtomineerUtils Pro ($5 US) provides a significantly enhanced documentation generation engine, automation tools to save even more time and effort, full customisation support to allow documentation comments to be generated in precisely the form you need, and many other enhancements. This comparison chart shows the advantages of purchasing AtomineerUtils Pro.

For an average programmer, AtomineerUtils Pro will save literally thousands of dollars every year - it will pay for itself in only 1-2 days of use.

Features - Document code better faster tidier cheaper

(Screenshot)

With a single keypress or menu command, the add-in can:

  • Create or update highly configurable Doxygen or DocXML-format documentation comments for code elements (file, namespace, class, interface, struct, enum, variable, property, event, delegate and function) in your code. This includes advanced support for automatically documenting all parameters, generic type parameters, thrown exceptions and return codes, automatically making use of existing documentation from related base class and override methods/properties and existing parameters within the same class, generating accurate and specialised documentation for hundreds of common function, class and parameter types. It can also optionally reformat the updated text using automated indentation and word wrapping to keep your code documentation accurate, informative and tidy with a minimum of effort on your part. An absolutely essential tool for any team wishing to write maintainable code.
  • Automatically document every code element within a namespace/interface/class/struct/enum scope.
  • Word-wrap the text in a block comment.
  • Hide all documentation comments and/or attribute declarations using Visual Studio's Outlining facility.
  • Auto-generate a C++/C skeleton implementation (in your source file) from a declaration (in a header).
  • Open the matching header for a given C++ source file, or the matching source file for a given header.
  • Add a C++/C declaration to your header for any existing method implementation.
  • Create C# Auto-Properties, Explicit Properties or C++ Accessor functions from member variable declarations.
  • Copy code to the clipboard in a clean format ideal for use in applications such as when writing Word .doc Documentation, or emailing examples to team members.

Documentation - what's so special about that?

For teams of developers to work on a product, they need to efficiently transfer information about their classes and methods to each other. Even a lone programmer will forget the finer details of code he wrote weeks ago. When you're writing code that calls a method, you don't want to waste time jumping to the code for that method to read it and work out what it does and how to call it. Documentation comments allow you to see that information as an intellisense tool-tip display as you type - the purpose of a method and details of the parameters and return value. This significantly improves productivity and reduces errors.

In addition, tools like SandCastle and Doxygen can be used to generate professional external documentation like that used in MSDN - essential for libraries and other code that will be shipped to third parties, as well as being very useful for internal use by your team.

There are just three problems:

  • Writing documentation is very time consuming
  • Programmers usually prefer to write code than documentation - so the documentation suffers
  • Even dedicated documentors will find their comments often get out of date with the code

AtomineerUtils auto-generated documentation confers a number of benefits:

  • It provides the raw block skeleton instantly, in a standardised (but user-configurable) format
  • It minimises the effort involved in documenting. A high proportion of documentation content is repetitive and easily filled in by the computer rather than the developer. Although you often have to tweak and augment the comments AtomineerUtils provides, it's usually impressively close to what you need, thanks to AtomineerUtils' advanced heuristic approach. This saves a lot of developer time and encourages developers to document their code well, because it is almost effortless.
  • AtomineerUtils automatically keeps the documentation accurate when parameters, return values and thrown exceptions are changed in a method, or get/set accessors are added to a property. This is the only realistic way of keeping documentation 100% in sync with the code.
  • Doc comments are picked up instantaneously by Visual Studio to give you the information in instant intellisense tool-tips as you type method-calls. ('Self-documenting code' is great, but you have to visit the code and read it to work out what it does - very inefficient).
  • It keeps documentation and surrounding code tidy by enforcing line breaks, formatting, element ordering, indentation, auto punctuation and word wrapping. All these options are highly configurable so it's easy to generate comments in the style you prefer.
  • It encourages higher quality code - A good descriptive name usually auto-generates most of the documentation comment for you, while poor names leave you with more work to complete the documentation, so AtomineerUtils actively encourages a better coding style.
  • It encourages developers to write documentation and keep it up to date. Programmers want to write code, not docs, so minimising the time and effort involved in documenting raises morale and improves the quality of documentation.

Put simply, AtomineerUtils raises developer morale, increases code quality, and typically saves thousands of dollars per developer per year.

What makes AtomineerUtils Documentation so special?

AtomineerUtils doesn't simply regurgitate the name of a code element with a simple word re-ordering. It tries to generate meaningful documentation based on naming, types, context and existing documentation. Here are some examples of the comments that AtomineerUtils will generate purely from the name and type of a parameter:

ParameterAuto-generated documentation
char *serialIOBuff[in,out] If non-null, buffer for serial i/o data.
string userInfoInformation describing the user.
IdGroup programIdsList of identifiers for the programs.
CString config_fnameFilename of the configuration file.
int itemIndexZero-based index of the item.
params object[] formatValuesA variable-length parameters list containing format values.

And so on... AtomineerUtils will often generate even better documentation when it recognises the context of a parameter (the method name and signature, overloads and overrides, and/or parameters that have already been documented elsewhere in a class).

For more examples of classes, methods, parameters and return types see: DocXML format comments and Doxygen format comments.

Compatibility

The add-ins are compatible with Visual Studio (Standard, Professional and Team System) 2005, 2008, and 2010 (32/64 bit WinXP, Vista, and Win7). They are not compatible with Express Editions which unfortunately do not support Add-ins. The commands can be used by developers working with C#, C++/CLI, C++, C and Visual Basic code, with specific support for common (.Net, MFC, STL and K&R) coding conventions.

The documentation comments are compatible with the following systems:

  • Documentation XML (DocXml) format as supported by Visual Studio, Intellisense, and the SandCastle documentation builder.
  • Doxygen and JavaDoc formats.
  • Humans! AtomineerUtils provides a number of automatic formatting, word wrap and punctuation facilities to make comments tidy and readable for humans too.

 
Copyright © 1996-2010 Atomineer. All Rights Reserved. Contact email address