Improved Compatibility, More Speed, and a Better User Experience
We think you’ll love it! [Jump to Changelog]
After months of hard work, the CodeSmith Team is excited to bring you version 7 of our popular template-based source code generator tool for developers, CodeSmith Generator.
With this new release, Visual Studio integration is tighter than ever, we added support for Visual Studio 2013, improved performance across the board, and refined the editor user experience significantly.
That’s not all, though…
We wanted to focus on improving existing scenarios, adding requested features and functionality, and really getting the details right, so we put our fingers to the keys and made it happen.
Below, you will find a list of the major and minor changes to Generator. Take a look at all the new toys and give it a test drive by downloading it today.
CodeSmith Generator 7.0 New Features & Updates
Main New Features
- Support for Visual Studio 2013
- Added the ability to Control+Click to go to definition including support for the ability to open code behinds.
- IntelliSense support for C# 5.0 and VB 11.0 syntax, Array Indexers, XML and XSD files
- Major User Interface Improvements including new Windows 8 (metro) themes.
- Support for Block Selection, Bracket Highlighting, Delimiter Auto-Complete, and Curly Brace Auto-Indent
-
Support for SQL Azure
But Wait! There’s More! (new features)
- New templates, including:
- Bootstrap 3.0
- TypeScript
- Updated .netTiers, PLINQO and CSLA Frameworks to target .NET 4.5 and VS 2012/13
- Added Syntax Highlighting for the following Languages: Assembly, INI, Lua, Markdown, MSIL, PowerShell, Ruby, RTF, VBScript, XAML.
- Added support for Format Document and Format Selection.
- Added file extension mapping for the following file types: ColdFusion, CoffeeScript, Command, Dart, Erlang, F#, JSON, LESS, TypeScript, XSD and XSLT.
- Updated the code navigation drop downs by adding support for modifiers, method parameters and property parameters.
- Added the ability to control the current theme from Generator Explorer.
- Added the ability to reset the docking layout from Generator Studio.
- Added the ability to open the options dialog from Generator Explorer.
- Added method overloads to StringUtil IsPlural and IsSingular that allows you to specify a plural overrides MapCollection.
- Added the ability to consume merged MapCollections. StringUtil.ToPlural() and StringUtil.ToSingular() now use merged a MapCollection.
Performance Enhancements
- Improved performance of parsing templates. Very large templates can see up to a 2500% improvement. NetTiers parsing is 30% faster.
- Improved start up time of Generator Studio and Visual Studio integration.
- Fixed SqlSchemaProvider performance bug.
- Fixed a bug where calling SaveAs multiple times on a single document would cause Generator Studio to become unresponsive.
- Many more minor performance improvements.
Usability Enhancements
- Major improvements to the Find and Replace dialogs.
- Added the ability to open the properties window using the F4 key inside of Studio.
- Updated the find next dialog to behave like the Visual Studio Find dialog (F3 keyboard support, Escape to close and more).
- Added the ability to open recent files from within the Generator Studio File menu.
- Added SchemaExplorer to the default list of assembly references for code behind files.
- Fixed a backwards compatibility bug where a template would not compile if the file name started with a digit.
- Updated the default file extensions that a document could be created with based on the value defined in the templates TargetLanguage attribute value.
- Fixed a bug where the execute template dialog would allow a user to generate a template that was unable to compile.
- Fixed a bug where the Template Editor would not receive focus when switching between documents.
- Fixed a bug where a Generator Project File could be saved with the incorrect file extension if the file name contained a period.
- Fixed a bug where a crash could occur when trying to regenerate a saved generated document.
- Fixed a bug where template and generated documents were not being opened or saved with the correct encoding.
- Fixed a bug where fixed template errors would not be removed from the error window until the template was recompiled.
- Fixed a bug where template errors were not being highlighted for in memory documents.
Bug Fixes
- DataObjectBase.FullName property was only returning Name (E.G., ColumnName) value. FullName now includes owner information (E.G., Owner.Table.ColumnName).
- SqlSchemaProvider incorrect major version number could be returned causing the wrong script to be executed.
- Property Directive descriptions were not appearing in IntelliPrompt.
- Editor font and colors would be displayed incorrectly after changing the Visual Studio theme in Visual Studio 2012/13.
- Quick Info and IntelliPrompt fonts were displayed incorrectly.
- Renaming a file in Template Explorer did not update the file path inside of the template editor.
- Tabs inside Template Editor did not properly display the files read-only status.
- Unauthorized Access Exception could be thrown when trying to save a generated document.
- Calling the Save method on MapCollection was not ensuring that the directory was created before saving the file to an invalid file path.
- MapCollection.ToString() returned an empty string instead of the actual content.
- An XmlProperty with invalid XSD schema’s would throw an unhandled exception.
- Indention features would not work as expected.
- Property Grid could throw an exception when the multiply key was pressed.
- Template Explorer wouldn’t automatically refresh in some scenarios.
- DB2zOSSchemaProvider would only return views if the FilterViews property was specified in configuration.
- ActiveSnippetConfiguration wasn’t always being initialized when a new instance of ActiveSnippetGenerator was created.
- PropertySet.ToString() wasn’t being indented.
- Fixed a bug that was preventing Template Explorer to be themed in some circumstances.
- The CodeTemplate ResponseEncoding attribute has been depreciated as it doesn’t make sense to have two encoding attributes. We will continue to fallback to any defined ResponseEncoding attribute values for backwards compatibility.
- Fixed a bug where a reloaded source document from disk could be shown as an empty document.
- Fixed a bug where StringUtil ToPlural and ToSingular methods were not respecting the input strings casing.
- Fixed a bug where StringUtil IsPlural and IsSingular methods returned incorrect results if the input was not lower cased.
- Updated the SQLAnywhereSchemaProvider to also return user database tables and views.
- Various bugs with StringUtil where IsPlural, IsSingular, ToSpacedWords was not handling null or empty strings properly.
- StringUtil ToPascalCase and ToCamelCase methods were not returning the correct results for strings that contained single character words (E.G., a_b_c_MyMethod).
- Many more minor bugs.