We have put out videos and examples in order to help people learn how to use Codesmith, but I thought I would post a few tips on how to get your head around exactly what CodeSmith does and how it can help you speed up your development process. When I started working here I was learning CodeSmith, C#, and VB all at once, so I know how someone might get overwhelmed.
1) Take a look at the small sample templates included with CodeSmith, even if they may not be what you plan on using when creating your own. Look at the template code and the generated code sided by side. This will help you understand the basics of how the templates generate before getting started on your own.
2) Write a simple template yourself. Every programmer starts with Hello
World. Start simple and add to it. Take it slow. Make sure you understand what is happening. Don’t expect it to work every time,
mistakes are a part of learning.
3) Create some unit tests. You will want to make sure that the code you
are generating not only compiles, but does what you want.
4) Many people find the templates we have created in house very useful. Things such as Plinqo, NHibernate, and the new CSLA templates. This is understandable because they create an excellent base to start any project. So my first tip would be to make sure you understand the framework itself. This means if you plan on using Plinqo, take some time to understand Linq to Sql. You will need a cursory knowledge of the framework to understand what is going on in the templates.
Have Fun Saving Time!