Keen to see CodeSMART 2009 for VB6 in action? Well, you have reached the right place. We have prepared for you a few sections illustrating several CodeSMART 2009 for VB6 key features.
CodeSMART 2009 for VB6 is exceptionally well integrated within the Visual Basic 6.0 IDE. All the features it adds to Visual Basic 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 Visual Basic, like the MDI tabs it adds to the IDE, the tabs added to the Immediate window (which is thus converted into a central reporting place while it does not loose its initial functionality) - these on the visual part, because there is a hidden part too, where everything is magically inserted into Visual Basic's processing chain.
CodeSMART can change the Visual Basic standard multiple document interface (MDI) into a modern "Tabbed MDI" one similar to VS.NET and other modern environments. 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.
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.
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.
End-of-Line Details represent descriptive comments at the end of certain control statement closing parts; can be used to identify a long branch.
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.
Current Line Highlighting, as the name implies, assists the developer by highlighting the active code line with a grayed background.
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.
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 than 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, event down to code flow items (select-case structures etc).
- Logical: where components can be logically grouped in user defined folders to ease the application's functional scheme comprehension. Code expansion is also available like in the above-described view.
In addition to these view styles, the CodeSMART Project Explorer can help you focus on a limited number of components and code elements which represent the current work context.
With the Navigation Helper Panes you can use persistent shortcuts to preferred items, a persistent navigation history and also perform node searches in the CodeSMART
There are three navigation helper panes:
- The history pane: tracks down the last visited items, that is: last opened Project Explorer items, double-clicked Immediate window pane results, edited code elements and viewed code items (if configured to do so). Persistent between sessions on a per-project basis.
- The node search pane: used to search for nodes in the CodeSMART Project Explorer.
- The workbench pane: this one can help you focus on certain elements by defining shortcuts to them. Persistent between sessions on a per-project basis.
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 filtering, searching, navigation history 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 position in code. 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 into the CodeSMART Project Explorer:
The VB6 code editor doesn't have tools to help navigate inside a method body. When you work with fairly 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 navigation inside complex methods - it can parse the code offering instant access to the internal structure and logical code blocks.
This is a tool dedicated to ease user interfaces development inside the Visual Basic IDE. You will be able see all the controls hosted on the current designer, including containment (parent) information. Controls can be sorted alphabetically or by following their tab order. Additionally, designer components are displayed in a Project Explorer-like hierarchy in order to offer quick access to several basic operations (open, SCC etc).
The CodeSMART Library Explorer represents a convenient way to quickly store and retrieve various code or designer templates. It can be seen as a Visual Basic repository in which you can store and organize different code items and designer scraps, group them in logical folders and share them within a team.
- The Library Explorer can be used either as a dockable toolwindow, or docked with the CodeSMART Project Explorer.
- Both horizontal and vertical split view styles are available.
- Custom Code items (used by the Custom Code Inserter and Remover) and Multiple Copy and Paste Buffers are placed in special folders.
- Designer templates can be previewed in a dedicated pane.
The CodeSMART Find and Replace adds powerful search and replace capabilities to the Visual Basic environment and can be used to perform operations 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. Additionally, a History combo box can be used in order to track the last performed search and/or replacement operations separately for each set of results.
The Find References system can help you find:
- component references: that is, all the places were a component (class, form, user control) is used. In addition to that, for user control components, all designers that contain the respective control on it will be reported.
- 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 variable or constant is used.
- control references: find a control usage within the containing component's code.
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 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:
The CodeSMART Designer Analyzer is an extremely valuable tool that can be used to examine Visual Basic components for identifying designers and controls that can lead
to an inconsistent or incorrect user interface. It can be seen as both a user interface quality control tool and a user interface standard enforcement tool with
all the advantages that result from these.
The Designer Analyzer covers three major problem areas:
- Designer issues: refers to most common designer-related (form, user control, user document, property page etc) issues.
- Control issues: refers to control-related problems.
- Other (general) issues: refers to problems that could not be included in the above two but still apply to the application user interface.
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
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.
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.
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 and allow you to concentrate 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. Simply put, this
is the reason 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 -|
|- or -|
|if|| If | Then
The "|" character stands for the cursor position.
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:
The CodeSMART Code Builders represent a set of tools that allow you to quickly create property procedures, sub or function procedures and even collections classes. 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 unloading. Moreover, CodeSMART can help to quickly format regular or SQL strings.
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.
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 list, or you can even let the tool automatically establish the tab order (it does this in a standard right-to-left, top-to-bottom sequence).
The CodeSMART Hotkey Designer allows you to automatically manage hotkeys in your application user interface. The tool provides a hotkey generation mechanism along with the possibility to preserve (lock) some already defined hotkeys.
When you design a form, besides modifying control positions and sizes, the most often updated properties are Name and (whichever applies, if one) Text or Caption.
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 tool can ease manual property setting and automate property-to-property value generation.
In the process of building user interfaces, a developer usually ends up setting a subset of properties for certain controls over and over. CodeSMART can do for you this tedious task at control creation time or whenever a new designer component is added, by applying default values to their properties in conjunction with the UI Standard Properties Manager settings.
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.
Use the UI Standard Properties Manager to configure (on a per-control type basis) property-value pairs which can be applied at control creation time and, moreover, which can be checked against by the Designer Analyzer. Here you may define rules like command button size, designer default font, ListView default style, etc.
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 by using specialized tools for code reformatting, sorting and commenting.
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 elements. 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 total consecutive blank lines.
- Split code lines that exceed a certain length and also perform the reverse operation. Also, already split code lines can be compacted.
- Wrap method definition lines, API declarations and 'As' variable declarations across multiple lines in benefit of code readability.
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.
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:
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.
CodeSMART can help you automatically add or remove tracing instructions which can be extremely valuable in debugging tasks. 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:
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 ensure that a termination code containing clean-up tasks is executed even if an exception or some other error occurs.
These features offer you the possibility to automate two very useful mechanisms, that is saving and backup copies creation. You can configure CodeSMART to save 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.
This feature can provide statistical information at a custom scope (component, project, project group).
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 line, immediately before the procedure last line or at a specific line number inside each procedure body.
As developer, there are times when you want to identify all the changes that were made to a file from the moment 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.
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:
- Assigned tasks: tasks that are assigned to different members of a team, with start and due dates, code links, developer assignments.
- Personal tasks: similar to the assigned tasks, with the only difference that they are visible only to their creator and have no developer assignments.
- Comment (TODO) tasks: can be used as bookmarks in code, or as reminders etc.
Tasks are displayed in the enhanced Immediate window's Task List pane:
Download the latest CodeSMART 2009 for VB6 setup kit
You can use the button below in order to download a 30-day evaluation version of CodeSMART 2009 for VB6.
- If you are a registered customer (any product) you can request a full-featured evaluation version of CodeSMART 2009 for VB6 by clicking here. Please note that all requests are verified and only legitimate ones are honored - if necessary, you may be asked for additional purchase details.
- If you are a CodeSMART 2009 for VB6 registered customer then you should download the product by using the full version private download URL that was disclosed to you at purchase time. If you do not have this private download URL any more then please click here to request it again. Please note that all requests are verified and only legitimate ones are honored - if necessary, you may be asked for additional purchase details.
Download the latest fix-pack for 'CodeSMART 2009 for VB6'
|Current revision level:||FixPack 3 (click here to read what's new in this update)|
|Release date:||April 07, 2011|
- If you are a registered customer then please click here to request the download URL to the FixPack setup kit. Please note that all requests are verified and only legitimate ones are honored - if necessary, you may be asked for additional purchase details.
- FixPacks are cumulative, that is the latest FixPack always contains all previous updates.
Download an older version of 'CodeSMART for VB6'
- These product versions are now obsolete and have been superseded by CodeSMART 2009 for VB6.
- These setup kits are only available to registered users for the corresponding versions.
- FixPack setup kits are not available any more for these versions.
- What's new in Fix Pack 3
- What's new in Fix Pack 2
- What's new in Fix Pack 1
- What's new in CodeSMART 2009 for VB6
What's new in Fix Pack 3
(April 07, 2011)
- General: Fixed a 'CFormRestore component failure' error when closing certain windows.
- General: Fixed visual glitches on systems using high DPI screen setups.
- Project Explorer: Fixed overflow errors when working with bookmarks.
- Extended Find and Replace: Fixed a 'can't edit module' error that happened incertain situations when performing a replace.
- Code View Assistant: No parse tree limit is imposed anymore on the Code View Assistant by default; if you have a slower CPU, a limit can be optionally set in the CodeSMART Control Panel.
- Minor fixes and improvements in various subsystems.
What's new in Fix Pack 2
(November 22, 2010)
- AutoText Manager: Fixed an "Invalid procedure call or argument" error that happened sometimes when opening the dialog.
- Code Analyzer: The 'Begin' button was disabled in certain situations.
- Code Analyzer: Fixed an "Unexpected closing brace" error.
- Code Formatter: Code was corrupted if more than two logical lines were on the same physical line by using the ":" logical line separation character.
- Code Formatter: Blank lines were inadvertently inserted after lines that started with procedure calls, when the called procedure name was starting with a reserved word's exact character sequence.
- Error Handling System: Fixed an "Invalid control array index" error.
- Error Handling System: Fixed some inconsistencies in the "New/Rename Assignment" dialog functionality.
- Error Handling System: Fixed some inconsistencies in the "New/Rename Scheme" dialog functionality.
- Extended Find and Replace: Fixed an "Object variable or block variable not set" error when performing a find operation in certain circumstances.
- New Control Properties: Fixed "type mismatch" on dialog display.
- Print Preview Dialogs (in Extended Find and Replace and all other subsystems, as well as in AutoText Manager): Fixed control positioning and sizing problems on Windows Vista and Windows 7.
- Project Explorer: Fixed a "Subscript out of range" error that was reported sometimes when choosing "Save As" on a project node.
- SCC Check Out: Fixed an 440 error on checkout form hide.
- SQL/Long String Builder: Revised functionality and user interface fixes.
What's new in Fix Pack 1
(April 24, 2009)
- General: 'Commandbar button face timed paste failed' errors were reported when loading CodeSMART. Fixed.
- General: 'Can't show non-modal form when modal form is displayed' errors were reported when loading CodeSMART. Fixed.
- General: A non-detailed execution failure message was displayed on non-English systems in case of CodeSMART initialization problems. Fixed.
- General: An 'Error updating the 'Personal.mdb' database offline copy' message was displayed on certain systems when resuming from sleep mode. Fixed.
- General: UI problems were affecting the following windows on systems using 'large fonts': 'Code Flow Explorer', 'Comment Templates Manager', 'Designer Explorer', 'Error Handling Schemes Manager', 'Insert Custom Code', 'Library Explorer', 'Long/SQL String Formatter', 'New Task / Edit Task', 'Project Explorer', 'Show File Differences', 'Smart Complete Manager', 'Tab Order Designer', 'UI Standard Properties Manager'. Fixed.
- Code Builders: The empty multiple copy and paste buffer popup status text did not fit on the screen on many systems. Fixed.
- Code Managers: 'The object invoked has disconnected from its client' errors were reported when closing Visual Basic with CodeSMART. Fixed.
- Command Line Processor: Clarified some misleading descriptive messages.
- Commenting Tools: An incorrect minimum size setting was affecting the 'Comment Templates Manager' window. Fixed.
- Error Handling Engine: A crash happened at VB shutdown on Windows Vista and Windows 7 (pre-release) systems after using the 'Insert Custom Code' window. Fixed.
- Find and Replace: The new Find dialog had an incorrect size and resizing behavior on systems that used large fonts. Fixed.
- Project Explorer: An error was reported when using the 'Save As' popup menu entry in certain situations. Fixed.
- Tab Order Designer: 'Element not found' errors were reported when trying to reorder controls. Fixed.
- Task List: A crash happened at VB shutdown on Windows Vista and Windows 7 (pre-release) systems after using the 'New Task / Edit Task' window. Fixed.
- Minor fixes and improvements in various subsystems.
What's new in CodeSMART 2009 for VB6
(February 18, 2009)
Please find below a list with tools, improvements and features that are new in CodeSMART 2009 for VB6 (as related to CodeSMART 2007 for VB6).
- AutoText: When using automatic formatting (for example when not typing spaces manually in sequences like “i=int”) the cursor was incorrectly repositioned inside words and thus code entry was corrupted.
- Code Analyzer: Dead public variable/constants above the first non-dead public variable/const were not reported.
- Code Analyzer: Code element names (variables, functions etc) containing the “rem” word caused unexpected behavior.
- Code Analyzer: Changed most messages to a more verbose style.
- Code Builders: Errors were reported in the insertion process if the end result was a (temporary) uncompilable code item.
- Code Formatter: The Code Formatter tool added an additional empty line after a line containing a label, if the 'Enable code lines wrapping at line separator sequence' option was enabled.
- Code Formatter: An error was reported when formatting lines containing numeric labels only.
- Code Formatter: A “Can’t edit module” was sometimes reported when formatting code.
- Code Formatter: API declarations were not formatted beyond the 11th line.
- Designer Analyzer: A “Subscript out of range” error happened on certain situations when analyzing components.
- Error Handling Engine: The Error Handling Scheme Manager user interface was clarified.
- Find and Replace: A 'permission denied' error was displayed sometimes when performing a 'search and replace' operation at a project group scope.
- Find and Replace: A database error was reported when performing concurrent searches in two distinct VB sessions.
- Find and Replace: The replace textbox now remembers the last entry even if that was an empty string.
- Find and Replace: The dialog user interface was redesigned in order to accommodate form resizing, which is extremely useful especially when looking for / replacing with a multiple lines code piece.
- Find and Replace: If the selected text was extending on multiple lines, the “Search for” textbox was generally not initialized properly (i.e. with the currently selected text).
- Find and Replace: The multiline text find feature displayed incomplete results or no results at all.
- General: An “Invalid procedure call or argument” was sometimes reported on showing and resizing the Project Explorer toolwindow.
- General: An “Object required” error was reported sometimes on Project Explorer tree refresh operations.
- General: An internal component error happened in certain situations when opening the CodeSMART Control Panel.
- General: Removing a component from a project yielded to unexpected results like VB crashes on session shutdown, missing nodes in the CodeSMART Project Explorer tree after a subsequent component addition, etc.
- General: A VB crash happened sometimes at session shutdown. Not connected with change number 21.
- Library Explorer: An error was reported sometimes when the docked Library Explorer window was closing.
- Library Explorer: Syntax coloring is now done in a complete manner and with colors close to the default VB6 ones.
- Library Explorer: Slight usability improvements.
- Library Explorer: A “Subscript out of range” error occurred sometimes when clicking on “New Designer Template” popup menu item.
- Line Numbering: Line numbers were not inserted on multi-statement lines that started with a Dim statement.
- MDI Tabs: An error occurred sometimes when changing the Windows system colors.
- Multiple Copy-and-Paste Buffers: Buffer number 0 is not usable under Windows Vista; updated the feature to reflect this restriction.
- Multiple Copy-and-Paste Buffers: The “Buffers” popup was revised in favor of user experience.
- Workbench: Adding bookmark comments to workbench was reported to work correctly only the first time for each method.
- Workbench: Trying to add a newly added method shortcut to the workbench was reported to be ineffective if the containing component node branch was already expanded.