Follow us on Twitter

Atomineer Pro Documentation Development Summary

This extension began development in 1996 (for Visual C++ 4.0), and has been evolving and improving through constant use by software professionals ever since. More recent developments are listed below...

  Visual Studio 2017 Launch Partner

Atomineer is proud to be a Visual Studio 2017 Sim Ship Partner - Atomineer Pro Documentation supports it out-of-the-box.


February 2017

  • Don't forget to join in with the Visual Studio 2017 launch on March 7!
  • Added support for NaturalDocs format doc comments. Due to the large number of formatting options available, please consider this a public beta at this stage, and let us know if you spot any formatting issues.
  • Updated the core templating system with a new global entry style system so it is no longer necessary to repeat the same settings on each templated entry. This significantly simplifies the templates and ensures consistent formatting across all code element types. The change rationalises the alias mechanism to better support conversion from legacy comment content, and significantly improves the handling of custom entry 'tag' names for built-in entry types. While this is a largely internal change it allows Atomineer to be much more flexible while improving a number of edge cases.
  • Fixed a small but elusive bug in comment updating that occasionally caused entries that should have been deleted to be preserved.
  • Improved extraction of author names from a wider variety of login name styles.
  • Fixed an abbreviation expansion issue when using embedded variables.
  • Fixed a formatting issue when updating a comment containing an <inheritdoc> and overridden doc entries.
  • Live typing aids: Comment auto completion now allows multi-line comments to be missing the closing */
  • Added a new <Suffixes> section in the rules to improve the handling of parameters and members that include custom suffixes like _u32

January 2017

  • New build with additional improvements in the support for Visual Studio 2017 and its new Extension format.
  • Updated copyright dates.

December 2016

  • Added BETA support for Visual Studio 2017 RC. Please let us know if you notice any problems with Atomineer in 2017 RC.
  • Tested with Visual Studio 2017 RC.
  • Improvements to Doc All in Scope, and Doc All progress reporting.
  • Internal improvements to file header comment handling.
  • Fixed 'check for updates', which had been broken by our https website conversion.

October 2016

  • You can now choose to place comments after the code element declaration rather than before it. This is primarily intended for languages like Python where this is the standard documentation approach, but can be applied to any language. (Be aware that most external documentation tools don't support docs in these locations, or may require specific markup to relate comment to the code element). In C-style languages Atomineer allows the comment to be inserted between the declaration and the { scope brace, or after the opening { scope brace.
  • The Atomineer website now uses secure https connections throughout.
  • Fixed a bug in the documentation merge process where summary entries using a 'details' custom tag were not correctly merged with the generated summary, causing the original details to be marked as a deleted entry rather than being properly preserved.
  • Added a new attribute for template entries, _minTagLength="12", which allows doxygen users to control the extra padding added to the @commands to line them up into tidy columns. This attribute overrides the global MinTagLength preference on a per-entry basis for finer control.
  • The suppressInOut now works properly if set to 'true' rather than 'y'.
  • Testing with Visual Studio '15' preview 5.

September 2016

  • Document All... and Process All... commands will all now process C++ header files. (This feature was previously disabled due to difficulties in the way Visual Studio intellisense system works in headers. Atomineer now uses its built-in parser to handle headers, automatically working around the Intellisense issues)
  • Document All in this Scope now descends into child scopes of 'containers' such as classes and interfaces so it will now document entire files.
  • Fixed a small issue with the names for re-thrown exceptions in C++.
  • Improved handling of duplicated documentation containing embedded markup.
  • Resolved an issue that occasionally caused the first character of a description to be generated in lowercase.
  • Improvements to 'Delete Documentation from this File'.
  • Some important under-the-bonnet upgrades to our website.

August 2016

  • Improved alignment of [in,out] attributes on Doxygen entries. (The previous alignment behaviour can be reinstated by adding a preference to the <Doxygen> section, <AlignInOut value="false">)
  • Preference option <Doxygen><MinTagLength value="12"> can now be used to set a minimum width in characters for doxygen command tags. This can be used to achieve a columnar layout of doxygen comment blocks.
  • Added an option to remove seeAlsos from existing comments when updating them.
  • Improvements to Doc All in Scope.
  • Fixed a small regression in live typing aids when applied to the first line of /** ... */ comments.
  • Fixed a problem with removing entries marked as 'deleted' (###) from some comment block formats.
  • Addition/Removal of '(Optional)' prefixing now ensures correct casing of the following character.
  • Small improvement to parameter parsing logic for C++.
  • Doxygen: Atomineer no longer adds auto-punctuation to @copybrief entries.
  • When configred to with auto-insert #region/#endregion directives, 'Delete Docs from this File' now correctly removes the corresponding #endregion.
  • Tested on Windows 10 version 1607.

July 2016

  • Tested against Visual Studio 2015 Update 3.
  • (Visual Studio 2015 only) Added an option (see the new 'Live Aids' tab in the preferences, and the updated user manual) to highlight /// documentation comments by filling the background of the comment with a subtle colour (the defaults are beige for light colour themes and navy blue for dark themes). This can be used in addition to or instead of top/bottom separator lines to visually distinguish code form comments.
  • 'Doc All in this Scope' will now document any #define macros discovered in the processed source code.
  • Fixed two regressions in parsing of #define macro declarations which would cause incorrect output to be generated if a rare combination of preference options were configured.
  • Added an option to change the behaviour of typedef to better match C and C++ variations of usage, and improved handling of C-style unnamed types.
  • Fixed a bug in live typing aids that could leave spurious characters behind when generating a DocComment using a 3-character prefix which was not configured as the primary comment style's prefix.
  • Added the ability to emit a type attribute on return values. Added the preference option <DocComment><EmitParamType value="true"/> to force parameter/return types to be emitted in XMLDoc/JavaDoc/Qt comments if desired (previously this feature was only available for JavaDoc/JSDoc/JSDuck commenting). Added <DocComment><EmitParamTypeWithBrace value="true"/> preference to control whether these types are written as MyType or {MyType}
  • A small improvement to bullet-list continuation.
  • Added the ability for templates to be applied only to specific filetypes.
  • Improvements to handling of one-line and two-line doxygen/JavaDoc/Qt comments.
  • Improvements to pre-processing replacements when applied to #define macro definitions.
  • In cases where a VS Project is not being used (e.g. when using makefiles), project-relative roots can now be set by adding a <DocComment><RootPaths value="..."/> preference entry. This contains a semicolon-separated list of folder path names that you wish to treat as project root(s) to be stripped off any project-relative pathnames that you use.

June 2016

  • Parameter attributes can now be used in rules to generate documentation for parameters.
  • Added support for more attributes (most notably, the NotNull/CanBeNull resharper annotations for methods and parameters, and nUnit Fixture and Test attributes)
  • Added 'suffix=...' syntax to rules to allow additional comments to be appended to the generated description.
  • Improvements to Align into Columns. If a block is processed which contains a mixture of comment lines and code lines, only the lines matching the type of the line containing the cursor (code/comment) will be processed, so that comment lines can be skipped during the processing.
  • (Xml Documentation) Base class documentation references for overrides can now generate 'inheritdoc' rather than 'seealso' references. This new option can be set on the 'Doc General' preferences tab.
  • The Documentation Viewer will now view inherited documentation for methods/properties with valid <inheritdoc> references.
  • Exception documentation auto-deletion behaviour can now be enabled/supressed (on the 'Doc General' preferences tab).
  • Exception documentation will no longer be auto-deleted from comments in C++ header files.
  • Fixed cases where the (optional) prefix would be not be added as expected to parameter documentation.
  • Fixed a rare 'index out of range' bug in non-splittable-word handling.
  • Live typing aids now support creation of comments by typing '/**'

April 2016

  • Improvements to 'Delete Documentation' commands - Whitespace is now compacted after deletion, and end-of-line documentation comments (in standard // and /*...*/ formats) are now also removed. Also fixed a problem that could occur when processing single-line /**...*/ comments.
  • C++: Added support for 'final' and 'override' keywords.
  • Improved handling of rarely-used integral types (such as 'long long int')
  • Improved handling of <content> entries.
  • 'Document All in Chosen Files' has been renamed to 'Process All in Chosen Files' to better reflect its operation (it can be used to delete docs as well as create/update them).
  • 'Process All in Chosen Files' now has filtering options to allow you to control which types of code elements will be processed, so for example you can process all methods and/or skip all properties.
  • A small improvement to handling of some forms of end-of-line comments.
  • Tested against Visual Studio 2015 Update 2.

March 2016

  • Updated the installers to work around code signing issues. As of 1 January 2016 code signing must use SHA256 rather than SHA1 encryption. This means Visual Studio 2015 and Windows 10 may refuse to install extensions/applications unless they are SHA256 signed, yet earlier versions of Windows and Visual Studio may fail to regocnise the new signing. After considerable research we have been unable to find a solution that works in all cases, so we have had to take the unfortunate choice of providing multiple installers that target different versions of Visual Studio and Atmel Studio. We hope that eventually a solution can be found and the installers can be re-integrated.
  • Added more supported filetypes for Python code.
  • Fixed Indentation settings in VS2015 - After 2015 Update 1 Atomineer would always use spaces due to a change in the way the text editor option needed to be read. It will now use tabs if they are configured.
  • The spelling of "Initialise" (UK) or "Initialize" (US) now uses the %initialise% variable, which can be set for US or UK English using a new check box in the preferences. The default is now the US spelling. (Note that this does not affect the spelling used in Style-cop compatible comments, which must always use the US English variation).
  • The Documentation Viewer is now able to process XML <include> directives (as long as they are well formed and redirect to a valid XML element in a valid external documentation file - as described here). Includes can be placed as root-level items (providing a full or partial documentation comment) or be embedded within entries (providing a fragment of documentation text).
  • Improved parser to allow plain-text documentation comments prefixed with /// to be converted into fully formed doc comments.
  • Fixed a parsing problem on nested templates/generics which could cause declarations to become truncated.
  • C++: Fixed an issue on namespaced function-pointer parameters. (Name cleanup sometimes left additional text appended to the name).
  • Resolved a regression that caused types like 'const int' to be reported as 'int' in method returns %type% variable.
  • Resolved rare issues that could occur where end-of-line text after a #region directive was not being ignored by the parser, causing it to become confused.
  • Resolved an issue when generating a new end-of-line comment by typing /// would leave the /// in place.
  • Ported 'Hide Doc Comments using Outlining' command to VS2015 and re-enabled it.

January 2016

  • Atomineer now supports Atmel Studio 7.0 (Just run the .vsix installer to install into it)

Older versions

Details of versions from 2009 to this date are archived here

Copyright © 1996-2017 Atomineer. All Rights Reserved. Any trademarks reproduced in this text are the property of their respective owners - Contact us - Company Info