Skip to content

CodeToaster vs. CodeSmith Feature Comparison

Note: Code Toaster has moved to www.codetoaster.com.

CodeSmith has gained widespread popularity amongst the code generating crowd because of it’s ASP-like syntax, huge developer following, and widespread availability of free templates. This page provides an overview of how CodeToaster is different from CodeSmith.

The following list includes a few things that were difficult to compare because of different approaches the two systems take.

  • You cannot set a breakpoint in a CodeSmith template without crashing the IDE. CodeToaster allows breakpoints to be set (using System.Diagnostics.Debugger.Break()): debugging can continue in VS.Net 2005 and control returned to the CodeToaster IDE without crashing.
  • CodeToaster provides advanced Intellisense functionality, even in code-behind files. Intellisense makes it quick and easy to learn the CodeToaster environment.
  • The CodeSmith API allows a developer to execute uncompiled template files. The execution process includes compiling templates. CodeToaster templates are already compiled when they’re executed, so an API is not necessary to access and run templates.
  • CodeSmith includes a GUI client that is separate from the CodeSmith Studio IDE available only in the Professional version. CodeToaster provides the CodeToaster IDE, which fills both roles (editing/execution).
  • CodeSmith compiles each template separately, and each template is compiled into its own assembly. This made template compilation and execution quite time-consuming in earlier versions. CodeToaster compiles an entire project (including child templates, resources, etc) into a single assembly, and therefore template caching is not necessary.
  • CodeToaster projects are largely equivalent to VS.Net projects. Templates and resources contained with a CodeToaster project are all compiled into a single assembly, with accompanying pdb file (containing debug information). CodeSmith projects, on the other hand, merely describe a collection of templates, and may include a description of default values for template properties. CodeSmith projects are especially useful when executing templates from the command-line. CodeToaster projects can be compiled and/or executed from the command-line.

CodeSmith/CodeToaster Feature/Price Comparison

  CodeSmith  
  Standard Professional CodeToaster
Simple Template Syntax X X X
Execute Custom Templates X X X
Extensible Metadata X X X
SchemaExplorer Schema Discovery API X X X
XML Support X X  
Sub Template Support X X X
Useful Sample Templates X X X
Console Client X X X
CodeSmith Explorer GUI Client X X  
Integrated Development Environment   X X
Visual Studio 2005 Integration   X  
Template Caching   X not
necessary
Merging Support   X  
Project Support 1 Output X X
MSBuild Support   X  
ActiveSnippet Support   X  
Price $99 $399 $0
%d bloggers like this: