MZ-Tools 8.0.0.2575 released

A new build of MZ-Tools, 8.0.0.2575, has been released with some bug fixes reported by some users in the last months.

The complete changelog is the following:

MZ-Tools 8.0.0.2575 released (August 1, 2021)

  • Fixed [#15701, #16061, #16062] (VS): The Sort Code Elements feature did not handle correctly directives outside methods such as ‘#pragma’ / ‘nullable’ (C#) or ‘#Enable’ / ‘#Disable’ (VB.NET).”.
  • Fixed [#16053] (VS): The Generate HTML/XML Documentation could cause exception “The Writer is closed or in error state.”.
  • Fixed [#15863] (VBA): The Import Files feature did not remove extra lines with “Attribute VB_VarHelpID = -1” when restoring the ThisOutlookSession file in Outlook.
  • Fixed [#15830] (VB6/VB5): The Save and Close Window feature didn’t save in VB6/VB5.
  • Fixed [#16022] (VB6/VB5/VBA): Array types were not resolved in parameters.
  • Fixed [#14525, #16166] (VB6/VB5/VBA): The Nomenclature rules review failed with parameters that are both Optional and ByRef/ByVal. The fix adds new “Optional ByVal” and “Optional ByRef” parameter kind values.
  • Fixed [Internal] (VS): The height of treeview items was not correct when using a very high DPI display.
  • Fixed [Internal] (VS): The size of some images were not correct when using a very high DPI display.
  • Fixed [Internal] (VS): The Generate HTML Documentation generated dark images when Visual Studio used the dark theme.

MZ-Tools 8.0.0.2457 released

After several months without updates, last April 1 a new update (8.0.0.2457) was released. This update fixes some bugs reported in the last months and also introduces a new feature (keyboard shortcuts to move/resize controls in VBA userforms) and enhancements.

The complete changelog is the following:

MZ-Tools 8.0.0.2457 released (April 1, 2021)

  • New [#15078, #15095, #15447, #15497] (VBA): Added keyboard shortcuts to move/resize controls in userforms.
  • Enhanced [#12944] (All): The Find Text button on the results window is now moved to the second position.
  • Enhanced [#10665] (All): The TabIndex Assistant shows now the “Visible” and “TabStop” columns.
  • Enhanced [#14367] (All): New predefined variable “Array Tag” for arrays in the Nomenclature Rules review and New Method/Property Assistant.
  • Enhanced [#12024] (VB/VBA): The Code Explorer now allows to filter by access (Public/Friend/Private).
  • Enhanced [#12833] (VB/VBA): The Find/Replace feature now supports named capture groups of regular expressions for replacements (previously only numbered capture groups were supported).
  • Enhanced [Internal] (VB6/VB5): The setup now shows “(not detected)” if VB6/VB5 are not installed.
  • Enhanced [Internal] (VB6/VB5): The installation folder for VB6/VB5 is now “Program Files (x86)” to ease multi-user installations.
  • Enhanced [Internal] (All): The top-level menu includes now a “Buy Now” button during the trial period.
  • Fixed [#15567] (All): Some features such as Switch Assignment and Sort Selected lines added a blank line when applied to the empty line at the end of a file.
  • Fixed [#15386] (All): Exporting options to a file without directory caused System.InvalidOperationException: Folder name ‘\’ is not a full path. Now it is saved to the desktop folder.
  • Fixed [#15862] (All): Code was not colorized correctly in code templates and headers when the background color is dark.
  • Fixed [#15480] (VB/VBA): Constants and variables of a method were not parsed correctly if the type name belongs to a different line.
  • Fixed [#15486] (VB/VBA): Methods with optional String parameters and a parameter default value containing the “:” character were not parsed correctly. This bug was introduced in last build 8.0.0.2237.
  • Fixed [#15161] (All): The Combine Lines feature didn’t work correctly when a comment line is preceded by a line ending with the line continuation character.
  • Fixed [#15470] (All): The Combine Lines feature didn’t work correctly when a comment line ends with the line continuation character.
  • Fixed [#15553] (All): The Combine Lines feature didn’t work correctly with partially selected lines.
  • Fixed [#15601] (All): The Combine Lines feature didn’t work correctly with continuation lines that start or end with the “.” character that separates an object and a method in a call.
  • Fixed [#15604] (VS): The Insert Header feature could cause NullReferenceException when trying to insert a header in the first line of a text file of a unsupported language.
  • Fixed [#15606] (VB/VBA): The External Utilities feature didn’t show an icon for .bat, .vbs, .ps1 and other script files.
  • Fixed [#15626] (VB/VBA): The Collapse Projects feature didn’t work when the Project Explorer is a non-dockable MDI Child window.
  • Fixed [#15626] (VB): The Collapse Projects feature didn’t work when the VB6 IDE is in SDI mode.
  • Fixed [#15661] (VBA): The New Property Assistant inserted the field inside conditional compilation when declarations use PtrSafe.
  • Fixed [#15702] (VB/VBA): The Convert Selection Case feature didn’t retain the selection after changing casing.
  • Fixed [Internal] (VS): The position of the “MZ-Tools” top menu was not correct in recent versions of Visual Studio 2019.

MZ-Tools 8.0.0.2237 released

The update of this month (8.0.0.2237) brings several bug fixes to improve your user experience, mainly with the VBA editor. One of the fixes is important if you use the Sort Code Elements feature in VB/VBA with conditional compilation in the General-Declarations section, since it could mess the code.

The complete changelog is the following:

MZ-Tools 8.0.0.2237 released (October 1, 2020)

  • Fixed [#15320] (VB/VBA): The declaration of a method/property with the body in the same line was not parsed correctly, which affected the performance of the Method Callers feature.
  • Fixed [#15321] (All): NullReferenceException could happen with some files.
  • Fixed [#15367] (All): InvalidCastException could happen importing code templates if a code template name had the same name than a folder.
  • Fixed [#15281] (VB/VBA): The Code Elements Order Review was not consistent with the order when both a Let and Set properties were present.
  • Fixed [#15316] (VBA): The VBA host was incorrectly identified as a Microsoft Office app in some cases.
  • Fixed [#15351] (VB/VBA): The access of Declare Sub / Declare Function was not correct if the declararation is indented.
  • Fixed [#15328] (VB/VBA): The Sort Code Elements feature didn’t handle correctly conditional compilation in some cases.
  • Fixed [#15374] (VBA): The Open Files scope of the Find Text feature didn’t work correctly with Microsoft Access.
  • Fixed [Internal] (VBA): Deleting a tab page of the MultiPage control of VBA Forms using the Control Explorer caused an exception.
  • Fixed [Internal] (VBA): Deleting a control using the Control Explorer didn’t remove it from the treeview.
  • Fixed [Internal] (VBA): Deleting a child control using the Control Explorer along with its parent caused an exception.

MZ-Tools 8.0.0.2264 released

The update of this month (8.0.0.2264) is also quite small, with some bug fixes. There have been actually two updates because the first one (8.0.0.2261) introduced a problem with the digital signature of the setups. The complete changelog is the following:

MZ-Tools 8.0.0.2264 released (June 2, 2020)

  • Fixed [#15044] (All): The digital signature of the setups was not validated.

MZ-Tools 8.0.0.2261 released (June 1, 2020)

  • Fixed [#14933] (VB/VBA): System.InvalidCastException could happen while trying to retrieve typelibs with controls.
  • Fixed [#14876] (All): The Method Callers feature didn’t show late-bound calls to VB.Form or MSForms.UserForm.
  • Fixed [#15023] (VS): The Method Callers feature caused NotImplementedException when getting references of some web site projects.
  • Fixed [#14915] (VS): The Convert Field to Property feature didn’t parse correctly enum fields with an initializer.

MZ-Tools 8.0.0.2237 released

The update of this month is quite small but it brings an important improvement for some VB/VBA users: you can now use the Sort Code Elements feature even if the General-Declarations section contains conditional compilation. The complete changelog is the following:

  • Enhanced [#14870] (VB/VBA): MZ-Tools now locates buttons on toolbars and menus by Id instead of by FaceId to allow picture customization.
  • Enhanced [#14898] (VB/VBA): The Sort Code Elements feature now allows conditional compilation inside the General-Declarations section.
  • Fixed [#14867] (VBA): NullReferenceException could happen when getting the code elements of a file.
  • Fixed [#14876] (All): The Method Callers feature was unable to resolve the type of the expression ‘With New … End With’.

New build 8.0.0.2221 released

I hope everyone reading this is OK and healthy. Here at Spain we have entered the 4th week locked-down at home, and the forecast is to remain so another four weeks at least. Things don’t necessarily stop due to that situation, so past April 1 I released a new build of MZ-Tools 8.0 (build 8.0.0.2221) fixing small bugs and annoyances that some of you have reported me in the past weeks.

The list is below. Take care.

  • Fixed [#14715] (VB/VBA): Single-line declaration of methods in results window generated from multi-line declaration could contain extra spaces.
  • Fixed [#14753] (VB/VBA): The expansion keyword feature for code templates didn’t indent correctly the code in some cases.
  • Fixed [#14604] (VB/VBA): The Generate HTML Documentation could cause problems with “\Doc” folder.
  • Fixed [#14818] (VB): NullReferenceException could happen during line indenting review.
  • Fixed [#14575] (VS): The Dead Code Review could cause error “Couldn’t get SDK folder” in some Visual Studio versions.
  • Fixed [#14816] (VBA): The MZTools8VBAPortable.exe.config file contained the “safemode” value which is not required.
  • Fixed [Internal] (VBA): The version for Office 2016 or higher is now shown as “2016/2019/365” since all of them are version number 16.0.
  • Fixed [Internal] (VS): Toolwindows didn’t change colors when changing the theme from light to dark or viceversa.

New build 8.0.0.2173 released

A new build of MZ-Tools was released on Feb 1. Since on Jan 1 there was no new build, this one has quite a few small fixes and a couple of enhancements. Also, the help files have been updated to better explain installation issues and advanced scenarios.

The complete changelog is the following:

  • Enhanced [Internal] (All): Buttons on toolbars of toolwindows can be reached now with the Left/Right keys.
  • Enhanced [Internal] (All): The Check for Updates feature now downloads the new setup to the desktop folder instead of the temp folder when using the Download and Install button.
  • Fixed [#14577] (All): In the Find Text dialog (English) access keys were duplicated.
  • Fixed [#14577] (All): In toolwindows, holding the Alt key to show access keys moved the focus to the main menu.
  • Fixed [#14587] (VS): The help file did not document correctly the prefixes for MZ-Tools commands (“MZTools” for Visual Studio 2015 and higher and “MZTools8” for Visual Studio 2013 and lower).
  • Fixed [#14589] (VB/VBA): The Method Callers feature didn’t parse correctly declarations ending with comments causing long delays in some cases.
  • Fixed [#14548] (VB/VBA): The Dead Code Review didn’t recognize as unused a method variable or field whose name was the same than its type.
  • Fixed [#Internal] (All): Pressing the Esc key to close a modal dialog launched by a toolwindow closed the toolwindow too.
  • Fixed [#Internal] (All): If a modal dialog was shown from a toolwindow, after closing it the focus didn’t return to the toolwindow.
  • Fixed [#Internal] (VBA): The portable edition didn’t enforce the required .NET Framework 3.5 on Windows XP / Windows Server 2003, only enforced .NET Framework 2.0.

New build 8.0.0.2066 released

A new build of MZ-Tools 8 has been released, 8.0.0.2066, with some bug fixes and more importantly with improvements when sorting listviews.

All lists now use the previous sorting column as secondary sorting column when two values of the primary sorting column are the same. For example, in the Code Explorer feature of VB/VBA, if you want to order by Kind and then by Name, you would click the Name column and then the Kind column: if two code elements have the same Kind (say, “Sub”), then they are sorted using the Name as secondary criteria.

Also, for listviews that make sense (Code Explorer, Task List, Favorite Code Elements), their sorting criteria is now remembered between sessions.

Finally, the Code Explorer now allows to sort in ascending / descending order like previously, but also to sort as code elements appear in code. So, its columns go through three states.

The complete list of changes is the following:

  • Enhanced [#14399] (VB/VBA): The Code Explorer now allows 3-state sorting: ascending / descending / as in code.
  • Enhanced [#14399] (All): Listviews now use the previous sorting column as secondary sorting column.
  • Enhanced [#14399] (All): The Favorite Code Elements toolwindow now remembers the sorting column between sessions.
  • Enhanced [#14399] (VB/VBA): The Code Explorer and Task List toolwindows now remember the sorting column between sessions.
  • Fixed [#14393] (VBA): The Check for Updates feature didn’t use the original command-line options when restarting Office applications.
  • Fixed [#14436] (VBA): In Office 2000/2002 after locating a result if the code editor was previously closed the comboboxes at the top of the VBA code editor were not repainted or an System.AccessViolationException was thrown.
  • Fixed [#14428] (VS): Error getting SDK folder in Visual Studio 2019 when only .NET Framework 4.8 is installed.
  • Fixed [Internal] (VS): The Control Names Assistant showed white background in textboxes when using the dark theme.
  • Fixed [Internal] (VS): The Control Names Assistant didn’t change names of controls.

New build 8.0.0.1644 released

A new build (8.0.0.1644) of MZ-Tools has been released, that includes some enhancements to remember between sessions your last settings for operations, clickable columns for the Code Explorer (VB/VBA) and support for priority in code tasks, using “[+]” or “[-]” in the line that contains the TODO code task:

Also, the screenshots of the documentation have been updated and unified (using the ones for the VBA IDE) and several bugs have been fixed.

The complete list of changes is the following:

MZ-Tools 8.0.0.1644 released (May 1, 2019)

  • Enhanced [#14013] (All): In the options dialog for the Insert Headers feature, the selected code elements to insert headers to are now remembered, even between sessions.
  • Enhanced [#14013] (All): In the options dialog for the Review Quality feature, the selected reviews to execute are now remembered between sessions.
  • Enhanced [#14013] (All): In the options dialog for an operation, the selected scope is now remembered between sessions.
  • Enhanced [#13939] (All): The Control Assistants are now available in the VBA editor of Access if the user has added the Insert > UserForm menu entry.
  • Enhanced [#13977] (All): The last used scope is now preselected in the operation scope dialog.
  • Enhanced [#13972] (VB/VBA): The columns of the Code Explorer are now clickable to allow sorting.
  • Enhanced [Internal] (VB/VBA): Code tasks now support priority using “[+]” or “[-]” in the line of code containing the “TODO” token.
  • Fixed [#13995] (VBA): The TabIndex Assistant could show error “The algorithm that calculates the correct Tab Index has returned a number of controls different to the number of controls in the Tab Index Assistant list” when moving up/down a deleted control.
  • Fixed [Internal] (All): NullReferenceException could happen in the Generate HTML/XML Documentation features.
  • Fixed [Internal] (VS): Removed checkbox in setup to use COM Shim or not for Visual Studio (not required).

New build 8.0.0.1502 released

Yesterday a new build (8.0.0.1502) was released. While it only introduces a minor enhancement to sort the code tasks of the Task List, it fixes two important bugs that have caused problems to a number of German and Asian users during the past years. Finally MZ-Tools 8.0 can coexist with SmartTools AccessToExcel 4.0 für Access (and similar popular German add-ins for Access) and can handle correctly text that uses double-byte encodings (Asian languages, for example). Hopefully those two errors are fixed for good. There are also minor fixes to provide an even better user experience:

MZ-Tools 8.0.0.1502 released (February 1, 2019)

  • Enhanced [#13731] (VB/VBA): The Code Tasks of the Task List can be sorted now by column.
  • Fixed [#13690] (All): The Convert Field to Property feature removed the comment of a field.
  • Fixed [#11754] (VBA): A System.Runtime.InteropServices.SEHException (0x80004005) happened at startup when using SmartTools AccessToExcel 4.0 für Access.
  • Fixed [#13702] (VB/VBA): Several features didn’t work correctly with double-byte encodings such as Chinese, etc.
  • Fixed [#13653] (VB/VBA): An sporadic COMException that can happen during startup to restore toolwindows of the last session is now ignored.
  • Fixed [#13529] (VB/VBA): The add-in was initialized twice causing errors in some cases.
  • Fixed [#13716] (VB6): The clipboard text was not preserved when loading MZ-Tools.
  • Fixed [#13775] (VS): Some features could cause NullReferenceException with .cpp files.
  • Fixed [#13788] (VBA): The TabIndex Assistant, Control Names Assistant and Control Explorer showed the message “There is no active document window” instead of “The active window is not a window with a designer (Form, UserControl, etc.)”.