Ver versión en español    
 
Home
10 Reasons to use MZ-Tools
MZ-Tools 6.0 for VS.NET
Editions
Features
Online Documentation
MZ-Tools SDK
Download
Purchase
FAQ & Support
Version History
MZ-Tools 3.0 for VB6 & VBA
Features
Online Documentation
Download (freeware)
Donations (Paypal)
FAQ & Support
Version History
User Reviews
Community Place
Contact  
For Add-In Developers
About
   
 
User Testimonials

I'm an avid supporter of MZ-Tools. It's a product I couldn't do without and your level of support is outstanding.

Jan Hyde (Visual Basic MVP)

You will soon wonder how you ever lived without it.

Andy Maggs

More user reviews
 
FAQ & Support of MZ-Tools 6.0 for Visual Studio .NET

General Questions
Common Problems

General Questions


Why doesn't MZ-Tools support the Express editions of Visual Studio?

The Express editions of Visual Studio don't support add-ins (they have no Add-In Manager). Microsoft did not consider them to be used professionally (they are intended for students, hobbyists, etc.) and removed support for add-ins. You can review the Visual Studio product line overview. Apparently, the minimal Visual Studio edition that supports add-ins is the Standard Edition ("Extensibility: Consume extensions").

   Top

If I install Visual Studio 2008 after having installed MZ-Tools, what must I do to register MZ-Tools for Visual Studio 2008?

MZ-Tools targets all Visual Studio versions simultaneously. When you run the setup, it shows a list with checkboxes with the Visual Studio versions it can target, and enables the installed ones. You can then select the ones that you want MZ-Tools to target. If you install a new Visual Studio version (such as Visual Studio 2008) after MZ-Tools was installed, you need to run the setup again to select the new Visual Studio version.

   Top

How can I customize the MZ-Tools toolbar and buttons?

There are several ways to customize the MZ-Tools toolbar and its buttons:

  • You can hide the toolbar by right-clicking on it and deselecting it from the list of toolbars in the context menu. This state is preserved among sessions, so you have to do it only once.
  • You can remove buttons from the toolbar by clicking the "Personal Options" button (or "Options" button, depending on the edition) and going to the "Toolbar buttons" section. Note: if you remove the Options button, you can still show this window through the main "MZ-Tools" menu which is near the "Tools" menu of Visual Studio.
  • You can create buttons on other toolbar by clicking the "Tools", "Customize..." menu, "Commands" tab, "AddIns" section, and drag and drop the desired command over any toolbar. To customize the style of the button (only image, image with text, etc.) right-click on it and select the desired style. Note: ensure that you are using only one Visual Studio instance when doing this and close it to persist the changes.
  • You can create a new toolbar by clicking the "Tools", "Customize..." menu, "Toolbars" tab, "New..." button, give the toolbar a name and drag and drop commands over it as explained in the previous step.
   Top

The Find window does not remember previous settings (Scope, Match Whole Word, Match Case)

By default, MZ-Tools tries to be smart and if it detects that the text under the cursor is selected text or that the text to search is a code element name (such as a procedure name, class variable, parameter, etc.), it adjusts the scope (for example, to Procedure for parameters, or to Class for class variables) and sets the Match Whole Word and Match Case settings to true. Most of the time this kind of guessing is desirable (contact us if you find situations where the guessing performed by MZ-Tools is not suitable). Nonetheless, you can turn off this behavior in the "Options", "Personal Options" menu, "Find Text" section, "Initialize search options from the editor" checkbox. When the checkbox is unchecked, MZ-Tools remembers the last settings rather than guessing.

   Top


Common Problems


The Review Dead Code feature does not detect some dead declarations

To detect all dead code would require the implementation of a parser and a compiler, which is beyond the functionality of MZ-Tools. Instead, this feature works by checking that a declaration name does not appear again in the source code. This approach has a couple of limitations:

  • Only private declarations are reviewed (as stated in the help file), since otherwise the performance would be severely affected.
  • If you have two declarations in the same file with the same name (such as an enum and a class variable), none of them will be reported as unused even if they are in fact unused.

The bottom line is that a missing report of a dead declaration is not considered a bug. Only reports of declarations as unused code which are really used are considered bugs.

   Top

Several operations of MZ-Tools seem to hang Visual Studio or cause System.AccessViolationException

If you are using the Refactor!, Refactor Pro or CodeRush add-ins from Developer Express, likely their DXCore component is causing this problem, which happens with all add-ins that process files:

  • DXCore version 1.1.56 or lower caused a hang in the operations (such a search) of MZ-Tools. As a workaround, MZ-Tools 5.0.0.28 (January 1, 2006) implemented a workaround: it unloads the DevExpress Tools add-in before performing the operation and reload it when finished.
  • DXCore version 1.1.57 or higher fixed that problem (after contacting Developer Express) but causes a System.AccessViolationException when using the workaround mentioned above. So, MZ-Tools build 5.0.0.33 (March 1, 2006) detects the DXCore version and uses the workaround or not depending on it.
   Top

COMException can happen sporadically loading or unloading MZ-Tools

Typically this problem is not reproducible (otherwise submit a bug to get it fixed) and it happens from time to time when MZ-Tools tries to add or remove its commandbars and buttons during the initialization or shutdown phases. It is caused by internal problems of the Visual Studio commandbars when used from add-ins.

   Top

Any problem not addressed here? Don't hesitate to ask.