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 Partner  

October 2017

  • Fixed a parsing glitch in Natural Docs exception entries.

September 2017

  • Documentation editor now has next/previous buttons. These advance the cursor to the next/previous code element and if necessry, executes Add Doc Comment to create a comment, which can then be adjusted in the editor. This allows you to easily step through a file and document it directly in the editor.
  • Documentation editor: Added simple bullet-list support.
  • Documentation editor now automatically snaps its toolbar to the top or left side of the view
  • Documentation editor: some general improvements and under-the-bonnet work to support planned future features.
  • Fixed an issue that could sometimes stop the new template system's EntrySettings being correctly applied. This could cause several symptoms (e.g. optional entries such as seealso being incorrectly deleted from comments while updating them, punctuation being applied to entries that should have had the feature disabled).
  • Added an option for Doxygen-style comments to place in/out specifiers before or after the parameter name.
  • Improved C# 7.0 support for expression-bodied properties and added support for tuple parameters.
  • Fixed a small bug in the preferences app relaing to the 'enforce blanks' settings which worked correctly, but were not being displayed properly when reopening the preferences.
  • Fixed: Word wrapping engine could sometimes break URLs containing minus characters.
  • Improved parsing of C# generics
  • Added support for C++11 brace-initialisation syntax.
  • 'Reformat Doc Comment' will no longer duplicate documentation for parameters.
  • Some more support for projects
  • Small tweaks to the installer to support VS2017 better.

July 2017

  • For Visual Studio 2017/2015, the Documentation Viewer has been upgraded to a Documentation Editor. Edits made in this view will be written back to your source code automatically when the input focus moves out of any entry (i.e. if you switch to editing a different entry, or move the input focus back to your source code, or to another application). The editor supports some basic markup (<b> <i> <code> ) and has been tested primarily with XML documentation; it is being relessed now as a beta feature so that more users can feed back to us if they find any issues with the many variations of documentation styles and formats in the wild, to allow us to develop the feature forwards more quickly. Please note that the editor does not currently support a full set of markup features - markup such as inheritdoc, see, paramref, bullet lists and tables, as well as special doxygen markup (@ commands) will be supported in upcoming releases.
  • Resolved a regression in reformatting of indentation (a poor interaction with specific formatting options), which was introduced by an attempted fix for code block indentation in the 9.34 release. The fix was rolled back and a new fix implemented which does not introduce any side effects.
  • Added a new 'Reformat Doc Comment' command. This reformats a doc comment exactly as Add/Update Doc Comment does, but without adding any new entries to it.
  • The 'convert to entities' option has been expanded, so that < > & can be converted to XML entities &lt; &gt; & or now into more human readable { } + characters.
  • Further small improvements to the C# 7.0 parser.
  • Fixed an edge-case which could adversely affect parsing of attributes embedded within method parameter lists.
  • Fixed a minor parsing issue that was caused by unrecognised macros with 1-character names applied after parameter declarations.
  • Fixed an issue in Doc All in File where some code constructs were not correctly located when intellisense was unavailable, resulting in failure to document some code elements.
  • Fixed a small bug in the preferences that meant generation of 'inheritdoc' rather than 'seealso' was not persisted and had to be set manually.
  • Fixed an issue in the new template system that caused DocXml settings to be applied to Doxygen entries when they used a custom tag name.

May 2017

  • Improvements to the C# 7.0 parser, including a bug fix for misidentified constructors.
  • Fixed cases where exceptions outside the scope of C# 7.0 expression-bodied members were being inadvertently documented.
  • Several improvements to the typescript/javascript parser.
  • Fixed an issue in chained constructors.
  • Fixed a very rare case where documentation background colouring would be missed out for a comment.
  • Improved reformatting of indented example code in a few cases.

April 2017

  • Out-of-band release to fix a small but significant parsing bug introduced in the last release which interfered with processing of member variables.
  • Found and fixed a generic method declaration syntax that was not being correctly handled
  • Added support for C# 7.0 features:
    • Tuple return types
    • Tuple deconstructor member-methods and extension-methods
    • 'ref' method return values
    • Expression bodied members, and exceptions thrown from within them.
    • Auto-properties with default values
  • Improved C# lambda support
  • Improved C# Async support
  • Fixed an indentation issue on duplicated documentation.
  • Optimisations to improve speed of some parsing cases.
  • Added preference for JSDoc (Java, JavaScript, Typescript) documentation format. Although the options are the same as those for Doxygen, this mode now enables the output of JSDoc {type} markup in parameter entries.

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 '/**'

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