CodeWiz - Developer Studio Add-In

Version 2.9

Teemu Lätti





CodeWiz is a Developer Studio Add-In that adds extra functionality to your development environment. It is specifically targeted to professional C++ developers and contains several features that help you with the most common coding activities you do daily.


If you have any comments or suggestions, please don't hesitate to contact me at Most of the commands are designed for my personal use; so many useful features must be missing. All suggestions are welcome.


Download and Install


Download latest version from CodeWiz is freeware.


The latest version of this page can be found here. PAD file can be found here.


This version of CodeWiz is compatible with Microsoft Visual Studio 2003, 2005, 2008 and 2010. For a version that is compatible with previous versions of Microsoft Visual Studio, go to


Installation can be done by simply unpacking the zip-file and running the installation file CodeWiz.msi. Follow on-screen instructions. After installation, run Visual Studio and check that a new toolbar has appeared.

Using CodeWiz



During installation, CodeWiz changes the active keyboard scheme to include keyboard shortcuts to some CodeWiz commands. Later, you can change the keyboard mapping from Visual Studio menu Tools / Options / Keyboard.


CodeWiz menu can be activated from the toolbar or by pressing the keyboard shortcut CTRL-Q. Code Templates menu can be activated by pressing CTRL-0.


CodeWiz Commands


Friend File




Friend File switches between the source and the header file, which is a common operation when editing C++ code. For example if you have a file named "MainFrame.cpp" open, this command will open the file named "MainFrame.h".


The following file extensions are supported by default (in search order). New extensions can be added in Options.


Source files:  .cpp .c   .cc                           <->                Header files:  .h   .hpp      


If the searched file is not found in the current directory, the command will search from additional directories, which can also be specified in Options. This enables you to keep your header and source files in different subdirectories. You can also use environment variables when specifying these directories.


Friend Member




Friend Member behaves like Friend File, but it also searches for the function or variable that is currently selected (or in the current line). This is a good way to quickly go to the member declaration and back.






Browse opens a dialog, where you can shuffle through all the function and class declarations in the current file and see all the files in your project. Type part of the name and the list is filtered to contain only matching items.


Copy Members



Paste Members




These are very useful commands, which save you the trouble of reformatting your functions when typing them into the header file. You start by selecting a function in the implementation file. Just paint the function(s) or leave the cursor in the same line with the function name. Then press CTRL-5. Now the function declaration has been copied into memory.



Go to the header file (use CTRL-1) and go inside the class declaration. Choose a place for your function and press CTRL-6. The function is automatically reformatted for the header file.



This also works vice versa and you are able to copy multiple functions at the same time. It also works for data members and global functions and variables. The reformatting is very smart: all additional prefixes ("static", "virtual") and default parameters are commented out in the source file and uncommented when copied to the header file.


Some of the behaviour of this command can be modified in Options.


(Un) Commentize




Commentize is a fast way to commentize a block of code. Select a region of code and press CTRL-7. Depending how you have selected in Options, each line is appended with //-characters, or the whole block is commentized with /* */ or with pre-processor definitions. If the text is already in comments, the action is reversed. If the selection is in a middle of a line, /* */-comments are used automatically.






Step Up



Step Down



Step Up + Select



Step Down + Select




Step-functions provide a fast way to shuffle through the current file by stepping up / down to the next / previous function / class declaration. You can select a region as normally by holding down the shift-key.


Add Breakpoints




Add Breakpoints adds a breakpoint automatically in the beginning of each function in the currently open file.


File Properties




File Properties shows the standard Windows File Properties dialog for the currently open file.


Toggle File Read-only




Toggle File Read-only toggles the read-only file attribute of the currently open file.


Copy Filename




Copy Filename copies the full path and file name of the currently open file to the clipboard.


Copy File




Copy File copies the currently open file to the clipboard.


Open Folder




Open Folder opens the folder for the currently open file in Windows Explorer.






Clean is used to search a selectable directory for futile intermediate files and to delete them to free disk space. You can select the directory and the file types you want to be deleted.






Options opens a dialog in which you can configure the behaviour of CodeWiz and some of the commands.


CodeWiz Code Templates


Code Templates are small segments of code that you can write in advance and then quickly insert to your code during development. This saves a lot of extra typing if you write much similar looking code. While editing your code, press CTRL-0 (or select the toolbar button). In the popup-menu you can see a list of all the available templates.


A code template called Macro Demo demonstrates the usage of most of the macros.


--- Macro Demo ---

cursor:             ">><< cursor here"

toupper:            "FOOBAR"

tolower:            "foobar"

selection:          "none"

solution:           "FooSolution"

project:            "FooProject"

class:              "CFoobar"

access:             "public"

author:             "TL"

time:               "5.5.2004 13:19:54"          "Foobar.cpp"

file.short:         "Foobar"

file.ext:           "cpp"

file.path:          "C:\"

file.full:          "C:\Foobar.cpp"        "FooFunc"

member.short:       "FooFunc"

member.paramname:   "FooFunc"

member.type:        "void"

member.typeshort:   "void"

member.prefix:      "none"

member.access:      "public"

member.params:      "int nParam"

environment path:   "C:\Bin"

ask user, first:    "foo"

ask user, second:   "bar"

--- Macro Demo ---


All the code templates are stored in a file called "CodeWiz.txt", which is stored in the CodeWiz installation folder. If you want to customize your templates or add new ones, just edit this file. For quickly editing the file, choose "Edit" from the code templates menu. After editing, remember to select "Reload" to apply your changes.


Version History


Version 2.9



* Added support for Visual Studio 2010


Version 2.8



* Added support for Visual Studio 2008


Version 2.7



- Web site updated

- Miscellaneous fixes


Version 2.6



* Added support for Visual Studio 2005

- Miscellaneous fixes


Version 2.5



* Added option to show class names in Browse

- Fixed some issues with keyboard settings during installation


Version 2.4



* Added macro for upper-case variable name in code templates


Version 2.3



* Added support for keyboard shortcuts for code templates

- Fixed uninstallation to properly remove commands and toolbar

- Fixed Browse to correctly handle namespaces

- Miscellaneous UI fixes


Version 2.2



* Added option to add spaces between function parameters in member paste

- Fixed missing toolbar button images in some computers


Version 2.1



- Fixed to check commands and toolbars in initialization

- Fixed uninstallation

- Fixed bug in Member Copy (not always detecting class)

- Fixed bug in Browse (not detecting all functions)


Version 2.0



* First release for Microsoft Visual Studio .NET


Copyright and Disclaimer


CodeWiz is copyright © Elektrobit. This version of CodeWiz is freeware. It can be freely used by all users (both for-profit and profit-free). Redistribution is allowed if a) no profit is made in distribution, and b) no changes are made to the original contents. For including this software in publications or for other special licensing terms, please contact the copyright owner. Future versions and / or subsequent products have individual copyrights.


This software is being supplied as "AS IS" without any warranties, expressed or implied, of the intended behaviour. The user understands that he uses this software at his own risk and cannot rely exclusively to it for any reason. It is the good intention of the copyright owner to produce useful and error-free software but has no obligations to provide maintenance, support or updates.


Microsoft Visual Studio is copyright © Microsoft.