CodeSmith Generator 6.0

New Features

  • Brand new template editor integrated right into Visual Studio 2010!
  • Vastly improved IntelliSense with even more improvements to come before the final release. Support for directives, extension methods, lambdas, generics, and more!
  • Brand new parsing engine that should provide much better template errors as well as a great foundation to build on for the future.
  • .NET 4.0 support in templates.
  • SchemaExplorer collections have been updated to use generic collections that give a bunch of new features like LINQ support. *Breaking change that requires only a recompile of existing templates.
  • PropertyGrid has been updated to allow property filtering, collection editing, default instance creation, auto expanding of objects and much more.
  • New default property serializer that will enable serialization of just about any object and not require custom property serializers to be written. You can now just create an object in the template and use it as a property type.
  • Brand new Template Explorer that provides complete shell context menus and other features. If you are using something like Tortoise for version control, you will now have access to those features right inside of Template Explorer.
  • 64bit assembly support.
  • Most of the engine is multi-threaded and should make better use of multiple core machines.
  • Updated the ISeriesSchemaProvider to include filters to allow wild cards % and _ in the filters.
  • Added ISeriesSchemaProvider configuration setting to control the CommandTimeout on large schema’s.
  • Added F12 keyboard shortcut for Go To Definition.
  • Added the ability to access SchemaExplorer from within Visual Studio.
  • Added GetCustomValidationErrors() method to CodeTemplate which allows a developer to add custom Template Validation Rules during the validation process. This change introduced a breaking change to CodeTemplate’s Validate method as it is no longer marked as virtual (Breaking Change). One should now update their existing code to use GetCustomValidationErrors().
  • The Template Editor no longer locks assembly references.
  • Added Go to Definition support (beta).
  • Added Code Navigation support.
  • Added View Source context menu item to view a templates code behind file.
  • Added ExtendedPropertyNames class which gives quick access to all defined ExtendedProperty Names.
  • Added the ability to create new files and folders to Template Explorer and Windows Explorer.
  • New property grid editors for common data types.
  • Added a new TemplateContext.Current that allows getting access to the currently executing template.
  • Massive SchemaExplorer refactor including interfaces for all schema objects and better designer and serializer support.
  • Added initial code navigation drop downs to the top of the template editor.

Bug Fixes

  • Fixed a bug where an exception would occur when using the ViewColumnSchemaCollection PropertyGrid Editor.
  • Fixed a bug where MemberColumnSchemas Parent property was never being set.
  • Fixed the Code Navigation Drop Down menu’s to include the selected image.
  • Major updates to the ActiveSnippet Configuration dialog that includes validation and much more.
  • Fixed a bug where a black Visual Studio theme would not be formatted properly.
  • Fixed a bug where the PropertyGrid was not refreshing property values that were updated dynamically.
  • Updated all providers to use the new utility class for ExtendedProperty Names.
  • Fixed a StackOverFlowException that could occur if an error occurred while showing the output window.
  • Update the about us dialog to include lines generated.
  • Fixed a bug where Visual Studio could crash at launch due to an corrupt visual style.
  • Fixed a bug where Template and Compiler Errors were not taking priority over Warnings when being merged.
  • Fixed a bug where the CompileTemplateResult would return an incorrect result when any CompileWarnings existed.
  • Fixed a bug where Manage Outputs would not properly save an output when a template existed on a different hard drive.
  • Fixed a bug where Template Explorer wasn’t properly saving or loading a CodeSmith Generator Project File.
  • Fixed a bug where the installer would write to an incorrect registry hive on 64bit machines.
  • Fixed a bug where the Name Attribute Value on a Property Directive wouldn’t be valid if it had a space as the leading or ending character.
  • Fixed a Stack Overflow Exception that was occurring in MemberColumnSchemaCollection’s IndexOf method.
  • Fixed template includes so that all templates should work now.
  • Fixed issue with collapsing code behind items in solution explorer after generating.
  • Improved error messages and more robust checks during template parsing.
  • Fixed various licensing bugs.
  • Fixed bugs where schema providers were not being found properly.
  • Added new TemplateSourceGenerator custom tool for .cst files that enables better template debugging support.
  • Fixed parser bug that wasn’t parsing <% // some comment %> correctly.
  • Fixed an issue where an Exception would occur when trying to load a template marked as read-only.
  • Fixed a bug that caused Configuration to call LoadDefault multiple times.
  • Many other small improvements and bug fixes.

Performance Enhancements

  • Many performance and memory optimizations across CodeSmith Generator.
  • Updated the Template Editor to apply the default Visual Studio Fonts and Colors when opening a template.

Usability Enhancements

  • Fixed a bug where Visual Studio Shortcuts like Control+Tab were being ignored.
  • Change RenderToFile to not modify a file if the contents would be the same. Helps with exclusive checkouts.
  • Updated Go To Definition support to check for In Memory document and code behind changes.
  • Updated CodeTemplate to issue an Validation Error when GetFileName() is Invalid or an exception occurs while a template is validating.
  • Updated the Visual Studio Build Template button to force a recompile of the template.
  • Updated the start menu help shortcut location.
  • Added a start menu link to the online help and API documentation.
  • Samples are now kept up-to-date on an end users machine without overwriting any modified templates upon extraction.
  • Added support for refreshing cached PropertyGrid values (E.G., DatabaseSchema).
  • Updated the ADOXSchemaProvider to use the new Microsoft ADOX ConnectionString Designer.
  • Updated the OracleSchemaProvider to use the new Microsoft Oracle ConnectionString Designer.
  • PostgreSQLSchemaProvider’s and SqlSchemaProvider’s CommandSchema and ColumnSchema ExtendedProperty name for CS_IsScalarFunction now share the same name (maintained backwards compatibility).
  • Fixed an issue where Enumerations with defined base types could lock up the PropertyGrid.
  • Updated the TemplateSession to refresh the CodeTemplate’s instance when clicking generate.
  • Fixed an issue where a file could be opened from the Template Explorer Window in a new Visual Studio Instance.
  • Fixed an issue where the Error Window would be out of date when switching between templates.
  • The Error Window is now cleared when you close a template editor.
  • Updated the TemplateEditorDocument to refresh the errors when a parse error occurs when the generate button is clicked.
  • Updated the GetHashCode() for all of SchemaExplorer’s implementations.
  • Fixed a bug where Custom UITypeEditor’s were showing up with non-default formatting styles.
  • Fixed a bug where Custom UITypeEditor’s Dropdown Menus were not behaving correctly due to a focus issue.
  • Updated all of the CodeSmith Generator Sample Projects.
  • Double clicking template inside of codesmith explorer in VS will now open the file for editing.
  • Improved the error window behavior for templates.
  • Better support for old UITypeEditors.
  • Fixed issue with being able to copy text from the output window.

Download Now