Review: CodeSmith 2.5
CodeSmith 2.5 Professional
Eric J. Smith
First off, don't panic. The basic version of this code-generation
application is still free for as long as you want to use it. But when
you download and install CodeSmith, you also get the Professional
features. These include a full IDE for developing your own CodeSmith
templates and the right to use the CodeSmith engine in your own internal
applications. After 30 days, the professional features timeout unless
you pay for them.
CodeSmith remains a very strong entrant in the templated code-generation
field. What that means is that you can produce any ASCII file you like
by authoring an appropriate CodeSmith template. CodeSmith doesn't care
whether the output is VB .NET, C#, T-SQL, documentation, letters to your
mom, whatever; the only thing that matters is that you know what the
output looks like and can identify pieces that you'd like to
parameterize. Parameters can be integers or strings, custom classes,
database information -- pretty much anything you like. The CodeSmith
template language itself is based on ASP.NET, so it should be pretty
easy for any .NET developer to learn.
The IDE is patterned on Visual Studio .NET, and is quite functional. It
includes syntax highlighting, a database schema explorer window,
template properties, and links to online resources. You can certainly
write templates without this IDE, but it makes the job easier.
There are other improvements here too. One notable one is that the
CodeSmith documentation is MUCH more extensive and usable than it was
with previous versions; new users actually stand a chance of figuring
out what's going on here now. You'll also find new templates and
samples, compatability with running as a non-administrative user, and
improved performance, as well as bunches of little changes.
Mike Gunderloy has been developing software for a quarter-century now, and writing about it for nearly as long. He walked away from a .NET development career in 2006 and has been a happy Rails user ever since. Mike blogs at A Fresh Cup.