and it’s used internally by Visual Studio and Extension developers to generate code and other text files. If you have ever used LinqToSQL or Entity Framework you have used it without even knowing. While T4 is built in, it does not have an easy to use interface and as such has not been widely discovered by many developers. T4 Awesome is going to change that by exposing you to the full power of T4 Templates directly in your projects and allow you to quickly build your own custom scaffolding.
T4 Awesome makes T4Templating Awesome!
Even though the T4 framework is already available in Visual Studio it lacks the interface support that you expect from a Visual Studio feature. T4 Awesome enhances the T4 framework by adding the missing pieces.
- A user interface to create, organize, store, and run your T4 Templates
- Right click context menus to easily call your T4 Templates
- Custom parameters you define to control your T4 Template output
- Execute multiple T4 Templates and control the final output locations
- Edit T4 Templates with syntax coloring and code completion
- Generate code and text in place with a simple right click
- Supports Visual Studio versions 2012 and greater
Getting Started
Everything you need to know to get started using T4 Awesome today can be found at thislink. For more details you can also visit https://www.t4awesome.com
Features
T4 Awesome has 3 editions to choose from: Community, Standard, and Professional. The Community edition is free and allows you to access all the basic features T4 Awesome has to offer. The Standard and Professional editions allow you to utilize more features for the current major version at the time of purchase. Standard and Professional editions also allow you to upgrade to the next major version at a discounted price. Minor version enhancements are always available free of charge for all editions.
Basic Features
| Community Edition | Standard Edition | Professional Edition |
Item Management Interface A common set of tool windows to help create and manage your T4 templates. | a | a | a |
Allowed for personal or commercial use All editions can be used for personal or business projects. | a | a | a |
Unlimited email support requests for questions and help We provide quick response to support request via email for all editions. | a | a | a |
Item Types
A T4 Item is a set of details, parameters, and one or more outputs. This set of information is everything that is needed to prompt for variables, render T4 Templates, and control the processed results final location on disk. There are three types of T4 Items: Code Items, File Items, and Custom Items.
| Community Edition | Standard Edition | Professional Edition |
Code Item Types A type of T4 Item that is used to insert the processed results of a template into an open document. Think of code snippets but with more control. | a | a | a |
File Item Types A type of T4 Item that is used to create new physical files in your projects. You fully control the content and location of the new file using T4 Awesome parameters and Visual Studio custom menu items. A single File Item can have multiple outputs to support creating web and windows forms that contain designers backed by code behind files. | a | a | a |
Custom Item Types A type of T4 Item that is used to create scripts that call one or multiple T4 File Items. Scripting allows you to generate multiple items at once from a single set of parameters. Using the database schema and data access method and a Custom Item, you can generate multiple layers of you application in seconds, easily controlling names and locations of all new files created. The standard edition allows running these type of items but does not allow creating or editing. To create or edit custom items, you must use the professional edition. | | a | a |
Item Editing
T4 Awesome provides a custom editing experience for working with T4 Items and their T4 output files. From basic syntax coloring to assistance with debugging, T4 Awesome is there to help! The professional and standard editions offer additional editing features not available in the community edition.
| Community Edition | Standard Edition | Professional Edition |
Namespaces UI Add additional namespaces per template from an easy to use UI. | a | a | a |
Basic Syntax Coloring Basic syntax coloring for T4 tokens. | a | a | a |
Template Code Preview Preview the actual code that is generated by the T4 framework. This is useful for debugging as some of the error messages generated by the text transformation process reference lines in this file. | a | a | a |
T4 Item Sharing Easily share your T4 Items between projects and computers using the import/export wizards. Package up multiple T4 Items and save in a personal repository available to all projects on your computer or save as a zip file and share with friends. | a | a | a |
Assembly References UI Add additional assembly references per template from an easy to use UI. | | a | a |
Extended Syntax Coloring Syntax coloring for child language tokens. (C# and VB.Net) | | a | a |
Code Completion Full code completion for the child language of your T4 templates. (C# and VB.Net) | | | a |
Render Preview and Debugging Edit a T4 template, set your parameter values, and click Preview Output, it's that simple. If your template has errors, T4 awesome will show you the error list and the final template that was executed, all you have to do is find the line numbers and character positions and start debugging. T4 Awesome puts it all right at yourfinger tips. | | | a |
Item Rendering
Rendering is the process of converting a T4 Item into usable code or text in your project. After rendering is complete, the results are added to your project or inserted into the active document based on the context that invoked the rendering. The professional and standard editions offer additional rendering options not available in the community edition.
| Community Edition | Standard Edition | Professional Edition |
Insert directly into the active document Right click in any text file and inject your custom T4 template result. | a | a | a |
Add from solution explorer Right click on any folder in solution explorer and add a new file using your custom T4 templates. Allows you to quickly build your own custom scaffolding for your projects. | a | a | a |
File Item sub paths Create multiple sub folders for your outputs allowing you to have fine grain control of the final output location. Easily organize yourscaffolded items into the exact folder structure you desire. Sub paths even support replacement tokens allowing you to customize them based on item parameters. | a | a | a |
Attach to existing files Right click on any existing file in solution explorer and add new sub files using your custom T4 templates. Sub files are added using the built in depends on linking just like designer and code behind files are attached for win and web forms. | | a | a |
Add your own context menu shortcuts If you like the way MVC projects have a right click, add controller/add view menu option then this feature is for you! Add your own named shortcuts to any folder or project context menu. Using simple rules, you can completely control when your shortcuts appear on folder or project context menus. Your shortcuts directly invoke the render menu for their file item allowing you to create a truly customize development experience. | | a | a |
Multiple new files from Custom Item Launch a Custom Item, fill in the parameters, and watch multiple files in multiple projects appear in your solution. Custom scaffolding atit's best! | | | a |
Item Parameters
Define parameters the will be passed to your T4 templates during the rendering process. During the rendering of your template, these parameters will be available to inspect and use to customize your final output. The professional and standard editions offer additional parameter types not available in the community edition.
| Community Edition | Standard Edition | Professional Edition |
Text Parameter Passes a simple text string to your custom T4 template. | a | a | a |
Single Select List Parameter Allows you to define a list of options and pass one of those options to your custom T4 template. | a | a | a |
Yes/No Parameter Passes a simpleboolean yes/no value to your custom T4 template. | a | a | a |
Database Single Table/Stored Procedure Passes meta-data about a single database table/stored procedure. | a | a | a |
Basic Code Type Parameter Allows you to select from any class, interface, orstruct in any of the projects in your solution and pass the class name to your custom T4 template. | a | a | a |
Extended Code Type Parameter Just like the basic code type parameter but will pass all the function, property, andattibute meta data of the selected code element to your custom T4 template. The meta data available in the template from this parameter can be fully queried and used to generate other code. Prior to version 0.2015.12.128 this feature was only available in standard and above. | a | a | a |
Multi Select List Parameter Just like the single select list parameter but allows you to pass multiple options to your custom T4 template. | | a | a |
Multi Code Type Parameter Just like the single code type parameter but allows you to pass multiple code types to your custom T4 template. | | a | a |
Database Multi Table/Stored Procedure Passes meta-data about multiple database tables/stored procedures. Is useful for scaffolding database objects to a single file with multiple classes like the originalLinq To Sql did. | | a | a |
Database Full Schema Passes meta-data about the full schema of a database. When used a custom item you can easily generate your own poco classes from database tables to multiple files in any subfolder you desire. | | | a |
Template Execution
When your templates are executed by T4 Awesome they are provide a custom host with helper methods that solved common issues you may face. During the rendering of your template you can access these custom methods to make short work of string formatting, database schema and data access, and even calling other T4 Items. The professional and standard editions offer additional methods not available in the community edition.
| Community Edition | Standard Edition | Professional Edition |
Custom String Formatting To make working with strings easier inside your templates, the T4 Awesome host exposes several methods that are just wrappers to the excellent Humanizer text formatting open source library. | a | a | a |
Database Data To make accessing database data easier, the T4 Awesome host exposes several methods that the wrap the Dapper-Dot-Net open source library. these methods make it simple to generate code />text from database data. | a | a | a |
Database Schema To make accessing database schema easier, the T4 Awesome host exposes several methods that the wrap the Database Schema Reader open source library. these methods make it simple to generate code />text from database schema. | | a | a |
T4 Awesome and Visual Studio To support the scripting of multiple T4 File items at once, the T4 Awesome host exposes several methods for working with T4 Awesome parameters and items. Access to these methods allow you to call other T4 File items you have written and execute them. Each T4 File item will renderit's outputs as you have already defined. The end result can be multiple files created in multiple projects inside your solution from the click of a button. | | | a |
| Free | $49 | $99 |