CodeSMART 2007 for VB6

AxTools
CodeSMART by AxTools

Code faster and smarter. CodeSMART 2007 for VB6 is an add-in for Visual Basic 5.0 and 6.0.

Download
Order

CodeSMART 2007 for VB6 works with Visual Basic 5.0 and 6.0.
For Visual Studio .NET support, see CodeSMART 2007 for VS.NET.

  1. Integration
  2. Explorer Tools
  3. Locate Code Easier than Ever
  4. VB Code Window Enhancements
  5. Check and Refine Your Code
  1. Write Code with Exceptional Efficiency
  2. Save Time With the Integrated Designer Tools
  3. Reformat and Document Your Code
  4. Protect From Errors and Exceptions
  5. Other Tools

1. INTEGRATION

1.1. General Integration Notes

CodeSMART 2007 for VB6 is exceptionally well integrated with the Visual Basic 5.0 and 6.0 IDEs. All the features it adds to VB are accessible through the main menu (1) and four toolbars (2) it registers with the environment. CodeSMART tools are hosted or display their results within dedicated tool windows (3, and 4) that can be moved or docked. Code view enhancements are displayed directly in the Visual Basic standard code editor window (5). There are many more proofs of the excellent integration CodeSMART has with VB, like the MDI tabs it adds to the IDE, the tabs added to the Immediate window (which is thus converted into a central tool reporting place while it does not loose its initial functionality) - these on the visual part, because there is a hidden part too, where eveything is magically inserted into VB's processing chain.

Back to top

1.2. Tabbed Documents Support

CodeSMART can change VB's standard multiple document interface (MDI) into a tabbed one, just like in the Visual Studio .NET and other modern environments environment. Advantages include quick navigation between open files, being able to see at a glance what's currently open in the IDE, what was modified (an asterisk is added to dirty files tab caption) and so on.

Back to top

2. EXPLORER TOOLS

2.1. The Project Explorer

One of CodeSMART's central pieces is undoubtedly the enhanced Project Explorer, a fully integrated and functional replacement of the standard Visual Basic Project Explorer. It's main design goal: locate code faster then ever. The CodeSMART Project Explorer supports two different view styles:
  • Physical: where components are displayed grouped in standard folders like in the built-in Project Explorer. Components can be further expanded to show their procedures, variables etc.
  • Logical: where components can be logically grouped in user defined folders to ease the application's functional scheme comprehension. Component code expansion is also available.
So, the CodeSMART Project Explorer can display every piece of information the standard Visual Basic one does, and expand component code in addition. Well, not just that - it supports filering, searching, and it can also display:

  • Regions: this is a CodeSMART feature used in order to group similar or logically-linked procedures inside a component.
  • Bookmarks: this is a direct link to a custom code line. A method, containing one or more code bookmarks, can be further expanded in the CodeSMART Project Explorer so that you can go directly to the marked line.
  • Code Flow: a procedure can be expanded to show its code logic directly in the CodeSMART Project Explorer:

Back to top

2.2. The Code Flow Explorer

The VB6 code editor doesn't have tools to help navigate inside a method's body. When you work with fairly straight and simple methods browsing their code inside the code window is usually enough to grasp a general idea about the code logic. But trying to understand and navigate inside complex methods, with hundreds of code lines, nested conditional blocks and loops, can be a very tedious job.

The CodeSMART Code Flow Explorer can ease navigating inside complex methods - it can parse the method code offering instant access to its internal structure and logical code blocks.

Back to top

2.3. Designer Explorer

This is a tool dedicated to ease user interfaces development inside the Visual Basic IDE. You will be able see all the controls hosted by the current designer, including containment information (Designer Controls area). Additionally, it displays and allows you to modify a set of the most used properties for the selected control or designer, without opening the properties window (Quick Properties area).

Back to top

3. LOCATE CODE EASIER THAN EVER

3.1. The Workbench

When working on a specific problem, you usually focus only on a limited number of components and code elements. Restoring this context from one work session to another can represent a significant productivity enhancement - this is exactly what the Workbench can do for you.

Back to top

3.2. Extended Find in Files

The CodeSMART Find in Files adds powerful search capabilities to the Visual Basic environment and can be used to perform searches at different scopes (even on entire project groups) with various settings and obtain browsable result lists.

The results list can be refreshed, cleared, printed, exported and the pane view can be customized through grouping, sorting and column reordering.

Back to top

3.3. Find References

The Find References system is designed to provide cross referencing tools for Visual Basic. It can help you find:

  • component references: that is, all the places were a component (class, form, user control) is used.
  • member (method) references: find all the calls made to a method or property.
  • member parameter references: search all the places where an argument is used inside a method body.
  • variable and constant references: find all the places where a predefined variable or constant is used.


Back to top

4. VB CODE WINDOW ENHANCEMENTS

The CodeSMART Code View Assistant brings a rich set of visual enhancements to the standard Visual Basic code editor window. With the CodeSMART Code View Assistant enabled the Visual Basic code window dramatically changes with critical information provided on many control statements, branch lines to visually identify code nesting and assisted navigation between control statement opening and closing parts.

4.1. Branch Lines

Branch Lines are drawn to emphasize control statement branches, that is lines drawn between the opening and closing parts of each control statement; very useful in visualizing code nesting.

Back to top

4.2. End-of-Line Details

End-of-Line Details represent descriptive comments at the end of certain control statement closing parts; can be used to identify a long branch.

Back to top

4.3. Hotspot Markers

Hotspots are visual markers for control statement and procedure main parts; can be used to navigate (with mouse clicks) between the opening and closing parts of the control statement/procedure, and to emphasize a certain branch line.

Back to top

4.4. Current Line Highlighting

Current Line Highlighting, as the name implies, assists the developer by highlighting the active code line with a grayed background.

Back to top

4.5. Right Hand Separator

Right Hand Separator Line represents a vertical separator line that can be drawn at a specified column on the right side of the code window, in order to visually help the developer in respecting a certain maximum line length standard.

Back to top

5. CHECK AND REFINE YOUR CODE

5.1. Code Analyzer

The CodeSMART Code Analyzer is a valuable tool that can be used to examine Visual Basic projects and search for dead or slow code, as well as for potentially problematic code. It can be seen as a control quality tool for Visual Basic programmers who want to refine the code they write by making it smaller, faster and less prone to errors.

The Code Analyzer covers three major problem categories:

  • Dead (unused) code and symbols: code that is no longer used. This code usually has a negative impact on the compiled program's size, not to speak about having a significant negative role in code readability.
  • Performance issues: certain statements and code that is usually considered a bad choice from an execution speed perspective.
  • Potential problems: code that has a known potential for generating errors.
After the detection phase you can immediately start solving the problems. The analysis results are displayed in the Code Analyzer pane of the Enhanced Immediate window:

Back to top

5.2. Spelling Checker

What can be more embarrassing than delivering an application and realizing you have spelling errors in its user interface? Let's face it, we all felt bad because of this at least once in our lives. We did it too - so we decided it's the time to have a Spelling Checker component in CodeSMART. Here it is what this tool can analyze for you:

  • comments that appear in code
  • string constants used in code
  • designer control Caption and the Text properties

Back to top

5.3. Strings Review

The String Review tool does somehow share part of its goals with the spelling checker. Its purpose is to help you produce a correct user interface as for the text it displays, but while the spelling checker focuses on individual words correctness, the Strings Review was designed to ease the phase of logical word combination (phrasing) analysis and correction.

Back to top

5.4. Code Commenting Conformity Checker

Many organizations employ code documentation standards - and it is recommended even for single developers to adhere to such one. Enforcing a code documentation standard can be done by requiring descriptive comments for modules and procedures, and also by requiring code commenting to be done inside routines as well.

Back to top

6. WRITE CODE WITH EXCEPTIONAL EFFICIENCY

6.1. AutoText

Many times during the process of writing code you have probably used identical or similar code blocks, or written the same long instruction sequence over and over. In such cases, an auto-text feature, like the one found in many professional text editors, could save you a lot of time, keeping you more concentrated on the program logic. Typing a few letters or hitting a special keyboard combination is much more productive than writing, from scratch, the same pieces of code, again and again. This is why the CodeSMART AutoText system was built for!

Here are a few samples showing how the CodeSMART AutoText tool can dramatically improve coding speed:

orn On Error Resume Next
- or -    
mb MsgBox("|")
- or -    
if If | Then

End If

The "|" character stands for the cursor position.

Back to top

6.2. SmartComplete

The CodeSMART SmartComplete subsystem displays an Intellisense-like window with Visual Basic keywords, statements and global functions that are missing from the Visual Basic Intellisense list, plus custom (user-defined) items.

Here are two examples on how SmartComplete works:

Example 1
 Private
Example 2
 WithEvents

Back to top

6.3. Code Builders

The CodeSMART Code Builders represent a set of tools that allow you to quickly create property procedures that expose class modules internal data, sub or function procedures and even class collections modules. Also, a very useful feature is the one that switches an assignment operator's parts - especially when writing database applications and having to initialize local fields from a lot of database fields at initialization, then reverse the operation at form unloading. Moreover, CodeSMART can help to quickly format regular or SQL strings.

Back to top

6.4. The Extended Clipboard

CodeSMART extends the standard Clipboard with 10 additional copy-and-paste persistent buffers. These buffers can be filled with any piece of Visual Basic code and their contents can be pasted into any Visual Basic code window by using a simple shortcut key system.

Back to top

7. SAVE TIME WITH THE INTEGRATED DESIGNER TOOLS

7.1. Tab Order Designer

Configuring/reconfiguring tab order on a form or user control by managing each control's TabIndex property value can be a very tedious task. CodeSMART has a Tab Order Designer which can help you automate this process. You can either set the order manually by simply sorting a control list, or you can even let the designer automatically establish the tab order (the engine does this in a standard right-to-left, top-to-bottom sequence).

Back to top

7.2. Hotkey Designer

The CodeSMART Hotkey Designer allows you to automatically manage hotkeys in your application's user interface. The tool provides a hotkey generation mechanism along with the possibility to preserve (lock) some already defined hotkeys.

Back to top

7.3. Change Name and Text Properties

When you design a form, besides modifying control positions and sizes, the most often updated properties are the Name and (whichever applies, if one) the Text or Caption properties. Plus you may want at some time to rename a certain control based on its Caption/Text property, for example rename a label with the caption "Surname" to "lblSurname" - or vice versa (that is, perform a property-to-property value generation).
The CodeSMART Change Name and Text Properties window can ease manual property setting and automate property-to-property value generation.

Back to top

7.4. Bulk Controls Renamer

With the Bulk Controls Renamer CodeSMART can help you set appropriate control names on entire designers, according to standards defined in the Naming Standards Manager. Names are established through a "property-to-property value generation" mechanism, from Text or Caption properties.

Back to top

8. REFORMAT AND DOCUMENT YOUR CODE

As projects become more and more complex, preserving a standard code formatting results in major benefits like improved code readability and accessibility. With CodeSMART you can address such recommendations using our dedicated tools for code reformatting, sorting and commenting.

8.1. Code Formatter

The CodeSMART Code Formatter can be used to reshape Visual Basic code based on your standards (either specific to a single programmer or used for an entire programming team). By using the CodeSMART Code Formatter you can:

  • Reshape (indent) your code.
  • Manage the amount of blank lines used to emphasize certain code. You can instruct CodeSMART to insert a specified amount of blank lines before and/or after specific Visual Basic keywords and also to limit the amount of consecutive blank lines.
  • Split code lines which exceed a certain length and also perform the reverse operation.
  • Wrap method definition lines and API declarations across multiple lines in benefit of code readability.


Back to top

8.2. Sort Procedures

Occasionally you may need to rearrange the code in a more logical and intelligible manner. CodeSMART offers you the possibility to arrange code elements based on their scope, type and signature.

Back to top

8.3. Commenting Tools

The CodeSMART commenting tools ease adding different types of comments and headers to Visual Basic code files and (in certain cases) their automatic removal.

Type of comments used by the commenting tools:

  • Header comments: descriptive header comments added to components and procedures.
  • Embrace-type comments (block comments) used to enclose a block of code between descriptive notes.
  • Inline comments

You can use the Comment Templates Manager in order to customize the comment templates:

Back to top

9. PROTECT FROM ERRORS AND EXCEPTIONS

9.1. Error Handling Schemes

An error handling scheme is a general error handling template designed for a specific component or procedure. This template completely describes an error handling configuration: the error handler header and footer, if line numbers should be inserted or not and other options that configure the automatic insertion/removal process. These templates can be assigned to different types of Visual Basic components (Classes, Forms, Modules etc.) or to procedures (members) that match a certain pattern.

CodeSMART comes with a set of predefined error handling schemes that can be modified in order to reflect your project's error handling needs. Schemes can be created, modified, assigned and removed through the Error Handling Scheme Manager.

Back to top

9.2. Tracing

CodeSMART can help you automatically add or remove tracing instructions which can be extremely valuable when debugging an application. This is achieved by adding a dedicated module to your project (source code included) and a reference to a special tool (AxVisualLogger) where the information can be logged.

Inserting tracing instructions:


Logged information preview:

Back to top

9.3. Handling Exceptions

Because Visual Basic doesn't offer built-in support for handling exceptions, you can use the MExceptionHandler module (provided by CodeSMART with full source code) which implements code for filtering any unhandled exceptions that may occur during a program's execution. This way your program can communicate unexpected events to a higher execution context that is eventually able to recover. Also, handling exceptions ensures that a termination code containing clean-up tasks is executed even if an exception or some other error occurs while the code is being executed.

Back to top

10. OTHER TOOLS

10.1. AutoSave and AutoBackup

These features offer you the possibility to automate two very useful mechanisms, which are indispensable for safe working, that is saving and creating backup copies. You can configure CodeSMART to save the modified components from your open projects at specific time intervals using the AutoSave feature. In addition to that, CodeSMART can create backup copies every time you save a component through its own AutoBackup system.

Back to top

10.2. Code Statistics

This feature can provide statistical information at a custom scope (component, project, project group).

Back to top

10.3. Custom Code Inserter

There are times during the coding process when you need to insert similar pieces of code in every procedure, function or property of a code module. Using the CodeSMART Custom Code inserter/remover subsystem you will be able to insert and afterwards remove special code chunks at various scopes and positions, like immediately after the first procedure's line, immediately before the procedure's last line or at a specific line number inside each procedure's body.

Back to top

10.4. Show File Differences

As developer, there are times when you want to identify all the changes that were made to a file from the time it was last saved. The CodeSMART Show File Differences tool will help you in this task by comparing the component currently active in the Visual Basic code window with its corresponding file on disk. The output it produces shows a detailed list of changes.

Back to top

10.5. Task List Manager

The CodeSMART Task List can help you in planning projects, tracking development progress and thus following deadlines and delivery terms.

There are three task types managed by CodeSMART:

  1. Assigned tasks: tasks that are assigned to different members of a team, with start and due dates, code links, developer assignments.
  2. Personal tasks: similar to the assigned tasks, with the only difference that they are visible only to their creator and have no developer assignments.
  3. Comment (TODO) tasks: can be used as bookmarks in code, or as reminders etc.
The tasks are displayed in the enhanced Immediate window's Task List pane:

Back to top

Try it now!

Download demo
The demo is functional for 30 days. Some features are limited.

Order

CodeSMART 2007 for VB6 works with Visual Basic 5.0 and 6.0.
For Visual Studio .NET support, see CodeSMART 2007 for VS.NET.

CodeSMART is produced and supported by AxTools.

©Aivosto Oy -