CodeSmith is a software development tool to help you get your job done faster. Technically speaking it is a template driven source code generator that automates the creation of common application source code for any language (C#, Java, VB, PHP, ASP.NET, SQL, etc.) or any text based output.
CodeSmith enables software developers to efficiently:
• Reduce repetitive coding
• Generate your code in less time with fewer bugs
• Produce consistent code that adheres to your standards
• Create your own custom templates for any language
CodeSmith Generator Features
• CodeSmith Studio – CodeSmith Studio makes building your own custom templates very easy. With Intellisense you can create or modify your templates with ease.
• Visual Studio Integration – With integration into the MSBuild pipeline and Visual Studio 2005/2008/2010, you can actively generate without ever leaving Visual Studio. Visual Studio integration also features the ability to create your own active snippets for common tasks like creating properties from metadata.
• Template Debugging – CodeSmith makes it easy to debug your templates by providing the CodeSmith template developer with the line number in the template where the problem occurred.
• Rich XML and MetaData Support – The XmlProperty directive allows you to easily use XML to drive your templates. If an XSD schema is provided, a strongly typed XML object model will automatically be generated and makes working with XML simple.
• Merge Capabilities – The merging capabilities in CodeSmith allow you to merge generated and hand written code within a single file.
• Master templates – Provide an efficient way to execute many templates known as sub-templates at one time. Master Templates are very useful when creating dynamic, structured and well controlled output.
• Active Community – Join in and collaborate with other CodeSmith users about questions, issues or ideas that you may have.
• Console Client – The console client allows you to easily automate your code generation process and can execute templates one at a time or in batches.
• Auto SQL Script Execution – Templates that generate SQL scripts can be auto-executed after generation allowing for easy deployment of generated SQL code.
• Fast Compiler & Template Caching – CodeSmith can compile and execute your custom templates very fast and efficiently.
Supported Template Frameworks
• LINQ to SQL (PLINQO) – Replace and enhance Microsoft’s LINQ to SQL with PLINQO. These open source CodeSmith templates open the LINQ to SQL black box, giving you the ability to control your source code while adding many new features and enhancements. It’s still LINQ to SQL, but better!
• CSLA – Generate CSLA in minutes with our CodeSmith CSLA templates. Rockford Lhotka’s CSLA .NET framework is an application development framework that reduces the cost of building and maintaining applications.
• NHibernate – NHibernate is a port of Hibernate Core for Java to the .NET Framework. It handles persisting plain .NET objects to and from an underlying relational database. Given an XML description of your entities and relationships, NHibernate automatically generates SQL for loading and storing the objects. Optionally, you can describe your mapping metadata with attributes in your source code.
• .netTiers – .netTiers is a set of open source code generation templates that simplify the tasks of creating customized Application Tiers for your Microsoft.Net applications in just a few minutes. .netTiers generated architecture is custom to your domain, uses familiar patterns, and follows the guidance of Microsoft’s recommended patterns and practices. In fact, the .netTiers base architecture is built upon the Microsoft Enterprise Library Application Blocks.