New build MZ-Tools 8.0.0.180

A new build of MZ-Tools, 8.0.0.180, has been released today, fixing some bugs. Some of them are quite important, though: one of them fixes crashes that happened unloading Microsoft Project (the root cause is a bug in the extensibility model of that product, but hopefully I have found workarounds to avoid it). Another one for Microsoft Outlook will prevent an error when auto-updating in the next month. And finally, this new build fixes a problem that was happening since 15+ years ago: keyboard shortcuts were executed in Office even if the VBA editor was not the active window (potentially conflicting with keyboard shortcuts of Office). This new build avoids the use of global hotkeys and also recognizes when the VBA editor is active.

The complete changelog is the following:

MZ-Tools 8.0.0.180 released (April 1, 2018)

  • Fixed [#12874] (VS): The Find Text feature didn’t locate results if the end point of a result using regular expressions was between the \r and \n characters.
  • Fixed [#12873] (VB/VBA): The type of a member of a UDT was not parsed correctly if it contained a comment or the “New” keyword.
  • Fixed [#12918] (VB/VBA): Declare Sub and Declare Function were not parsed correctly if they contain comment or blank lines before the declaration.
  • Fixed [#12890] (VBA): Updating MZ-Tools from the VBA editor of Outlook caused error “Cannot start Microsoft Outlook. The command line argument is not valid. Verify the switch you are using.”
  • Fixed [#12881, #11396, #11942] (VB/VBA): Keyboard shortcuts were executed even if the IDE was not the active window.
  • Fixed [#12922] (VBA): MZ-Tools crashed when closing Microsoft Project.

New build MZ-Tools 8.0.0.178

Last week a new monthly build of MZ-Tools, 8.0.0.178, was released with some enhancements and fixes that you have reported in the previous month. The changes are the following:

MZ-Tools 8.0.0.178 released (March 1, 2018)

  • Enhanced [#12782] (All): When closing a result tab, now the previously selected result tab is selected.
  • Enhanced [#12814] (VB): When locating a result, the code window is not scrolled if the line of the result is already visible in the code window.
  • Fixed [#12833] (All): The Replace feature didn’t support “\r\n”, “\r” or “\n” in regular expressions.
  • Fixed [Internal] (All): The Replace feature used \number instead of $number to replace capture groups in regular expressions”.
  • Fixed [#12808] (VB): The line indenter did not parse correctly Type declarations with fields named Type in some cases.
  • Fixed [#12815, #12824] (VB): The line indenter and other features could cause “System.InvalidOperationException: Invalid new line counter” when using conditional compilation and duplicated procedures
  • Fixed [#12799] (VS): The Sort Code Elements feature added quotes to inserted regions in C#.
  • Fixed [#12830] (VS): The Insert Header feature deleted the selected code when executed.
  • Fixed [#12797] (VS): The New Property Assistant didn’t support initializers in auto-implemented properties in Visual Studio 2015 and higher.
  • Fixed [Internal] (VS): The New Property Assistant didn’t support read-only auto-implemented properties in Visual Studio 2015 and higher.
  • Fixed [Internal] (VS): The New Property Assistant didn’t make visible the Automatic style radiobutton after making it invisible.

New build MZ-Tools 8.0.0.176

Today a new monthly build of MZ-Tools 8.0 has been released, with just three bug fixes and a minor enhancement for users of VB6: toolbars are now hidden when entering debug-time or run-time. Since VB6 only allows add-ins to work at design-time, it hides buttons of add-ins at debug/run time. MZ-Tools now hides the whole toolbars, to gain space. This was also the behavior of MZ-Tools 3.0.

Also, starting this month, the setups are digitally signed with a code-signing certificate.

MZ-Tools 8.0.0.176 released (February 1, 2018)

  • Enhanced [#12748] (VB6): The toolbars are now hidden when entering debug-time or run-time.
  • Fixed [#12745] (All): The Private Clipboards didn’t check that the document window was the active window.
  • Fixed [#12757] (VB/VBA): The Find Text feature showed infinite results searching the last word of a code file.
  • Fixed [#12763] (VB6): The content of the clipboard in RTF or image formats was not preserved when loading MZ-Tools.

Happy New Year! And a new build MZ-Tools 8.0.0.175

Happy New Year! A new build 8.0.0.175 was released last January 1 with some enhancements and minor bug fixes.

  • Enhanced [#12708] (All): The previous version of Options files are now kept with the .old extension.
  • Enhanced [#12708] (VB/VBA): The previous version of Task file is now kept with the .old extension.
  • Enhanced [#11687, #12684] (All): Added context menu to the code template editor to cut, copy and paste text.
  • Enhanced [Internal] (VB/VBA): The Code Explorer now sets the focus on the code window when double-clicking a code element or pressing the Enter key.
  • Fixed [#12691] (All): The Show Code Elements toggle button on the toolbar of the results window didn’t reflect the state of the selected tab.
  • Fixed [#12691] (All): The Show Code Elements toggle button on the toolbar of the results window didn’t initialize the Show Code Elements checkbox of the Find Text toolwindow.
  • Fixed [#12722] (VB/VBA): The preselected file or project in the scope selection window of an operation was not correct when using the context menu of the Project Explorer.
  • Fixed [#12721] (VB/VBA): The New Method/Property Assistant generated invalid code if all the lines from the insertion point until the end of the document were blank lines.
  • Fixed [#12465, #12474, #12591, #12724] (VB/VBA): The Code Explorer didn’t parse correctly multiline constants.

MZ-Tools 8.0.0.174 released with two new predefined variables and some bug fixes

The last public build of MZ-Tools 8.0 this year was released a couple of days ago (next one is scheduled for January). This build 8.0.0.174 introduces two new predefined variables for code templates, etc. and some bug fixes:

  • Enhanced [Internal] (All): The Nomenclature Rules Review now shows a better message when the case of the name is not correct and it uses prefixes or suffixes.
  • Enhanced [#12625] (All): New predefined variable “Guid” ($P[GUID]).
  • Enhanced [#12581] (All): New predefined variable “Method Property Kind” ($P[METHOD_PROPERTY_KIND]).
  • Fixed [#12591] (VB/VBA): Hidden types (such as Excel.CheckBox) were not shown in the type tag editor.
  • Fixed [#12591] (All): The Nomenclature Rule editor showed a wrong example when using the $P[TYPE_TAG_WITH_UPPER_CASE] predefined variable.
  • Fixed [#12634] (VBA): COMException HRESULT: 0x8001010A (RPC_E_SERVERCALL_RETRYLATER) could happen in some VBA hosts.
  • Fixed [#12654, #12631] (VS): The dialog to select the exception handler or header crashed Visual Studio.

MZ-Tools 8.0.0.172 released with bug fixes

A new monthly build of MZ-Tools 8.0 was published last November 1. It introduces an enhancement to replace contents of existing VBA files when importing, rather than duplicating the file, and some bug fixes. The complete change log is the following:

  • Enhanced [#12516] (VBA): The Import Files feature now replaces the contents of existing items.
  • Fixed [#12553] (VB/VBA): The Line Indenting feature didn’t handle correctly line continuations at the end of a comment followed by a blank line.
  • Fixed [#12559] (VB/VBA): The Select Case Assistant didn’t work in properties, only in methods.
  • Fixed [#12562] (VBA): The Development Environment Settings Review did not run on startup.
  • Fixed [#12575] (All): Entering by accident in the dialog to enter user-defined variable values a user-defined variable name hung the IDE.

 

MZ-Tools 8.0.0.169 released with bug fixes

As usual, today a new monthly build of MZ-Tools has been released. This time with a small usability enhancement and some bug fixes.

The changelog is the following:

  • Enhanced [#12424] (All): The user options window now remembers the last used setting to keep open modified documents or not.
  • Fixed [#12376] (All): The HTML documentation didn’t handle correctly constants and fields.
  • Fixed [#12234] (VB/VBA): The Code Explorer could still cause System.NullReferenceException when closing.
  • Fixed [#12384] (VB/VBA): Constants and variables of properties were not reviewed by the Review Quality feature.
  • Fixed [#12386] (VB/VBA): Multiple constants/fields declared using line continuation were not parsed correctly.
  • Fixed [#12387] (VB/VBA): Declarations of Declare Function/Sub using a line continuation were not parsed correctly.
  • Fixed [#12391] (VB/VBA): COMException happened refreshing results if the scope was current file and the file had been removed and readded.
  • Fixed [#12410] (VB/VBA): Error “Failed to get command bar name of: CommandBarKinds.MenuBar” if the File menu entry was not the first one on the main menu.
  • Fixed [Internal] (VB/VBA): The Code Explorer didn’t show Declare Sub / Declare Function code elements.

MZ-Tools 8.0.0.168 released introducing collector of ‘ TODO: tasks in code

Today MZ-Tools 8.0.0.168 has been released. It fixes an important performance bug that can happen using the Select Case Assistant for VBA/VB6/VB5 and other minor bugs but, more importantly, it introduces a quite requested feature: a collector of TODO tasks in code for those IDEs. MZ-Tools 8.0 already provided a Task List, but it was for tasks entered by hand, now called “general” tasks:These tasks are entered manually through a dialog and are not tied to code:

This new build provides a new tab in the Task List for “code” tasks, that are comments in code that start with ‘ TODO: or ‘TODO: (without space):

This features scans all the code of your project showing those types of comments. Hopefully you find this feature useful.

The complete changelog is the following:

  • Enhanced [#12326] (VB/VBA): The Task List provides now a new tab page to show code tasks (‘ TODO: comments) apart from general tasks.
  • Enhanced [#12287] (All): The commands GenerateXmlDocumentation and GenerateHtmlDocumentation can be now automated.
  • Fixed [#12312] (VS): NullReferenceException loading MZ-Tools on Visual Studio 2010, 2008 or 2005. This bug was introduced in last build 8.0.0.164
  • Fixed [#12307] (VS): The Add Line Numbers feature numbered lines after initializer ‘=’ in VB.NET 10.0 or higher.
  • Fixed [#12234] (VB/VBA): The Code Explorer could still cause System.NullReferenceException when closing.
  • Fixed [#12247] (VB/VBA): The Select Case Assistant didn’t parse correctly enum items with comments or conditional compilation directives.
  • Fixed [#12247] (VB/VBA): The Select Case Assistant could be very slow in some scenarios.
  • Fixed [#12347] (VBA): Using MSForms, pages of a MultiPage control were not retrieved on Windows 7.
  • Fixed [Internal] (All): The window to select a code template didn’t have the correct tab order.

MZ-Tools 8.0.0.164 released with enhancements and fixes

The new build 8.0.0.164 of MZ-Tools released yesterday fixes four minor bugs, but it introduces three handy enhancements.

The first one is for users of any IDE (Visual Studio, VBA, VB6 or VB5). The Select Case assistant (VB) or Switch Assistant (C#) for enums allows now you to specify an optional custom template for the enum items after the Case statement. This template can use the name of the enum item (in different forms, such as normal, uppercase, or uppercase with underscores) and the name of the parent enum. This is handy when the case statements perform assignments to constants, etc. The assistant shows now also a preview:

The second one is for VBA users: this build introduces also support for Most Used Properties in the Control Explorer, Form Default Properties and Control Default Properties (previously features that deal with properties of controls were only available for Visual Studio, VB6 and VB5):

Finally, for Visual Studio users, the number of commands for code templates has been increased from 9 to 50.

The complete changelog is the following:

  • Enhanced [#12247] (All): Added support for enum item template in Switch / Select Case Assistant for Enums.
  • Enhanced [#12204] (VBA): Added support for Most Used Properties (Control Explorer), Form Default Properties and Control Default Properties.
  • Enhanced [#12250] (VS): Increased the number of commands for code templates from 9 to 50.
  • Fixed [#12224] (VBA): The Task List could cause System.ArgumentException: (“Invalid characters in path”) saving tasks.
  • Fixed [#12234] (VB/VBA): The Code Explorer could cause System.NullReferenceException when closing.
  • Fixed [#12252] (VS): Expression-bodied function members caused NullReferenceException in C# 6.0 or higher.
  • Fixed [Internal] (VS): Controls of tab pages of programming and nomenclature rules review were not themed with the Dark theme.

MZ-Tools 8.0.0.162 released with several enhancements and bug fixes

Yesterday a new build 8.0.0.162 of MZ-Tools was released, adding some small enhancements and documenting a subject that can be interesting for some people: how to automate MZ-Tools to add / remove line numbers to a project from a build script. It also fixes some small bugs reported in the last month.

The complete changelog is the following:

  • Enhanced [#12154] (All): Added predefined variables for Solution Folder/Project Group Folder, Project Folder and Project Item Folder.
  • Enhanced [Internal] (VS/VBA): Documented in help file how to automate MZ-Tools to add line numbers, etc.
  • Enhanced [Internal] (All): Added Comment field to exception/error handler editor.
  • Enhanced [Internal] (VB/VBA): The External Utilities feature allows now to have two external utilities with the same command but different parameters.
  • Enhanced [Internal] (VB/VBA): The External Utilities feature shows now external utilities that use project or file parameters on the context menu of project or file.
  • Fixed [#12170] (All): The Check for Updates feature could cause NullReferenceException if MZ-Tools was being unloaded.
  • Fixed [#12177] (All): Fixed typos in German localization.
  • Fixed [#12161] (VB/VBA): The Method Callers feature didn’t resolve correctly calls to properties that were made in continuation lines.
  • Fixed [#12181] (VB/VBA): The Sort Code Elements feature did not consider public the procedures or properties that lacked the Public keyword.
  • Fixed [Internal] (VB/VBA): The External Utilities feature didn’t show icons of external utilities on the Toolbars and Menus dialog.
  • Fixed [Internal] (VB/VBA): The end position of the body of a procedure was not correct if there was a blank line with spaces after the procedure.
  • Fixed [Internal] (VB6/VB5): The icons of external utilities disappeared after showing the Options window twice.