What is CodeSmith?
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.).
CodeSmith includes many useful templates as well as entire sets of templates for generating proven architectures (.netTiers, CSLA, NHibernate, PLINQO, Wilson's orMapper, APOSA, and more). You can easily modify any templates or write your own to generate your code exactly the way you want it.
CodeSmith can help you produce higher-quality, more consistent code in less time.
Features
CodeSmith is a template-based code generator that allows you to generate code for any text language. The code generated can be customized by the use of properties. A property can be any .NET object that has a designer (most built in .NET types have designers already) and can be as simple as a boolean property that allows you to conditionally add or remove code from the result, to an object such as the TableSchema object (included in SchemaExplorer) which provides access to everything you could possibly want to know about a database table. CodeSmith comes with many standard property types and is 100% extensible by allowing the user to create custom property types.
CodeSmith's syntax is almost identical to ASP.NET. So if you are familiar with ASP.NET then you should be able to quickly learn the template syntax. You can use the C#, VB.NET or JScript.NET languages in your templates and your templates can output any ASCII-based language.
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 Studio – CodeSmith Studio makes building your own custom templates very easy.
- Statement Completion – CodeSmith Studio includes statement completion for your custom templates.
- Fast Compiler & Template Caching – CodeSmith can compile and execute your custom templates very fast and efficiently.
- Template Debugging Features – 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 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. If an XSD schema is not provided CodeSmith will allow you to work directly with an XmlDocument instance instead. Combined with the IntelliSense capabilities, this feature makes working with complex XML a breeze.
- Merge Capabilities – The merging capabilities in CodeSmith allow you to merge generated and hand written code within a single file.
- 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.
CodeSmith includes many more features all designed to help you write your code faster and with less defects.
Feature Matrix
CodeSmith Editions | Standard | Professional |
---|---|---|
Price | $99 | $399 |
Simple Template Syntax | X | X |
Execute Custom Templates | X | X |
Extensible Metadata | X | X |
SchemaExplorer Schema Discovery API | X | X |
XML Support | X | X |
Sub Template Support | X | X |
Useful Sample Templates | X | X |
Console Client | X | X |
CodeSmith Explorer GUI Client | X | X |
CodeSmith Map Support | X | X |
CodeSmith Studio IDE | X | |
Visual Studio Integration | X | |
CodeSmith API | X | |
Template Caching | X | |
Merging Support | X | |
CodeSmith Project Support | 1 Output | X |
MSBuild Support | X | |
ActiveSnippet Support | X |