Useful Managers v1.0

.

Sample Image

Environment: VC6 SP3,Win98

Introduction

The Useful managers Visual Studio add-in provides a number of workspace-related functions for C++ programs.

1) Tag indexing and search
  • Tag Manager window provides a graphical view of classes and parent/children relationships in the workspace and additional directories (MFC source for example). Can find by name declaration of class, struct, template, function, union, enum, typedefs, defines, externs, variables, members, file includes, interfaces and files.
  • One-click tag search: quickly finds declaration of selected tag (class, function, etc.) and positions cursor on it.
  • Automatic #include insertion. Automatically adds #include statement for header file with declaration of selected tag.
2) Window helpers
  • Window Manager presents much more convinient alternative to standard "Windows" dialog. Window list can be sorted by name, time, extension or directory. Grouped sorting is suppored, i.e. you can sort by one attribute withing groups sorted by another attribute.
  • Session Manager saves sets of opened windows, and allows to switch between saved sets.
  • Favorites Manager allows to quickly open files from a list of favorites.
  • Auto-save option saves files automatically when switching from Visual Studio to another application.
  • Header/source toggle button. Switches between .cpp or .c and .h. For .rc files switches between resource editor and text mode.
3) Build system
  • Quickly build selected projects of the workspace without checking dependencies and then run the program in one mouse click.
And thats all only in 112K dll.

Installing the Useful Managers

The process for installing the Useful Managers in the Visual Studio environment is described below.

1. Close all instances of Visual Studio.
2. Extract the UsefulManagers.dll and UsefulManagers.reg from the .ZIP file.
3. Double-click on UsefulManagers.reg file and answer "Yes".
4. Copy the UsefulManagers.dll to your DevStudio\SharedIDE\Addins directory (Visual Studio 97) or Microsoft Visual Studio\Common\MSDev98\Addins directory (Visual Studio 6.0).
5. Open Visual Studio.
6. Go to Tools->Customize->Add-ins and Macro Files.
7. Click the check on Useful Managers Addin.
8. Click Close.

Using Useful Managers

Overview

   You can set size and position of all resizeable windows from add-in and they will be saved automaticaly.
   Use options dialog to customize preferences for add-in.

Tags Manager

1. Run <Update> method to build tags database (ESC to cancel). The database will be placed in tags.dat file in the same directory as the workspace.
There are two directories for recursive search: directory of your workspace (if any opened) and additional directory which you can choose (for example C:\DevStudio\MFC)
2. Please edit  UsefulManagers.reg if you have such constructs as
class EXPORT MyObject
{
};
and yould like to skip EXPORT tag.
2. In tree view you will see parents and children of selected class -> double-click on parent or children to go to it, or source lines with this tag -> double-click on them to open file at specified line.
3. double-click on class (struct) to open file with its declaration.

Note: There is a limit - 32000 tags of each type. So if you select additional directory C:\DevStudio, please do not find defines. Do you know that there are more than 70000 defines in DevStudio\Include\*.h?

Preferences
 a) Which tags to find:
     class, enum, struct, and union names
     typedefs
     names defined by #define
     enumerators (enumerated values)
     function definitions, prototypes, and declarations
     variables (definitions and declarations)
     class, struct, and union members
     file names
     includes.
 b) Files to search in:
   "headers" - *.h, *.hpp
   "sources" - *.cpp, *.c
 c) Additional Directory
 d) Update information:
   "manual" - only when you run <Update> method
   "auto" - when you try to use tags base for the first time after opening of Visual Studio.
 

Find tag

Our team has about 30 projects in one workspace. So I can't use browse info - it is too slow. And how can I find declaration of unknown for me class? Look for it in all 30 project - that is not for me and I think for you.
The solution is: select a word and run <Find tag> method - that's all.
You can run <Find tag> method without selection any word, you will see input dialog with text from clipboard in it. You can type your own word or part of it. Select "case-sensitive" option and "beginning" option - is it the beginning of what you want to find. Type "CO*Except" if you want to get this list:
c:\devstudio\mfc\include\afxdisp.h(266):COleDispatchException
c:\devstudio\mfc\src\ctlimpl.h(440):COleDispatchExceptionEx
c:\devstudio\mfc\include\afxdisp.h(243):COleException
You can use Unix-style (? * + . []  [^] \ $ () |) or Windows-style (? * ) regular expressions if you've forgot a name of your class.

Preferences
  Unix-style or Windows-style regular expressions.
  What tags to find ("class","struct", "function","enum","enum const","union","define","interface","member","typedef","variable","extern", "file","include").

Session Manager

1. Open some files.
2. Run <Session Manager>.
3. Press insert key.
4. Rename session as you like.
Now you can close all your files, Run <Session Manager> and select your session (Enter or double-click) -> all that files will be opened.
Note: Nothing is closed when you select any session.

Favorites

Run <Favorites> method.
You'll see list of your "favorite" files (empty at first).
Then you can add new file (active at this moment) using button "insert" or delete recent file by Del key.
Double-click (press "enter") on file to open it.

Insert Include

This method is useful when you get error message like this "D:\Project\File.cpp(33) error C2065: 'MyObject' : undeclared identifier".
I suggest you to:
a) Double-click on error string in debug window.
b) Select word MyObject.
c) Run <Insert Include> method.
As a result you will see new line "#include "Objects.h" in File.cpp.

Of course you can run <Insert Include> method before getting error and type "MyObject" in input dialog.

Build And Run

Select by double-click some projects in options dialog.
Then run <Build And Run> button. A new thread with high priority will be started which will build your projects and then try to run your program. This is useful when you often change files in one particular (not main) project.

AutoSave

Call "SaveAll" method of Visual Studio when switching to another task. Please be careful with this option, especially if you use something like VSS.

Toggle files

Header/source switching (*.cpp,*.c <-> *.h,*.hpp; *.rc resources mode -> text mode).

Windows Manager

Shows sortable list of windows (file name, directory, extension, last opened time).
Click on column to select sort method (it will be remembered). If you'll select directory column than the name of a file will be used for the second formation check.
You can use Ctrl+A, Del, Enter keys.

Preferences
  You can remove columns with directory,extension,time.
  Close or not dialog immediately after selecting a file.

Special Thanks:

Anton Riabov for his comments and recommendations.

Downloads

Download compiled add-in - 53 KB


Comments

  • FIXED BUG on W2K

    Posted by Legacy on 03/15/2001 12:00am

    Originally posted by: Mike Melnikov

    Fixed bug on W2K (WinNT) which "eat the keyboard input"

    Latest Version 2.10

    for downloads visit
    http://zmanagers.chat.ru/index.htm

    Please report me if it still falls on W2K (WinNT)


    Reply
  • Source code and latest verion (1.1 from 04.14.00)

    Posted by Legacy on 04/15/2000 12:00am

    Originally posted by: Mike Melnikov

    Now you can download source files
    http://zmanagers.chat.ru/UsefulManagers_src.zip
    binary files
    http://zmanagers.chat.ru/UsefulManagers_bin.zip

    or visit http://zmanagers.chat.ru/index.htm


    Reply
  • List dependencies of project

    Posted by Legacy on 01/20/2000 12:00am

    Originally posted by: Md hidayathulla

    Thankyou for informative notes on vc++.
    plz ge me details about how to list all the project dependencies.
    i like to list through vc++ code.

    awaiting for ur reply.

    with regards
    hidayath.md

    Reply
  • Great tool - but fails on W2k

    Posted by Legacy on 01/06/2000 12:00am

    Originally posted by: Carsten Orthbandt

    This is just what I need. But I work mostly on
    Win2k (US,RC3). Some things work, others crash.
    If you need more precise information (probably :),
    let me know. I'll try to find the problems with
    the source.

    CU,CO

    Reply
  • Test, only with source ...

    Posted by Legacy on 01/05/2000 12:00am

    Originally posted by: Michael Lindig

    I will test your add-in but only with source code !

    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Live Event Date: October 29, 2014 @ 11:00 a.m. ET / 8:00 a.m. PT Are you interested in building a cognitive application using the power of IBM Watson? Need a platform that provides speed and ease for rapidly deploying this application? Join Chris Madison, Watson Solution Architect, as he walks through the process of building a Watson powered application on IBM Bluemix. Chris will talk about the new Watson Services just released on IBM bluemix, but more importantly he will do a step by step cognitive …

  • Agile methodologies give development and test teams the ability to build software at a faster rate than ever before. Combining DevOps with hybrid cloud architectures give teams not just the principles, but also the technology necessary to achieve their goals. By combining hybrid cloud and DevOps: IT departments maintain control, visibility, and security Dev/test teams remain agile and collaborative Organizational barriers are broken down Innovation and automation can thrive Download this white paper to …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds