Skip to content

With the T4.FileManager you can define into which files T4 generates your code. You are no longer bound to the default behaviour of T4 Text Templates that generates all the code of the “example.tt” template into a single “example.cs” file.

License

Notifications You must be signed in to change notification settings

databinding-gmbh/T4.FileManager.VisualStudio

Repository files navigation

T4 FileManager

T4.FileManager.VisualStudio

Build Status Nuget Nuget

With the T4.FileManager you can define into which files T4 generates your code. You are no longer bound to the default behaviour of T4 that generates all the code of the “example.tt” template into a single “example.cs” file. Now you can split your code into the files you want:

  • Putting each generated data class into a single code file
  • Creating a server and a client component based on a common model
  • Distribute generated code to multiple projects within a solution
  • Set the file properties (like ResXFileCodeGenerator as CustomTool)
  • Update previously generated files

Documentation

Our documentation offers all the details you need to know to work with T4.FileManager.

Getting Started

Prerequisites

Program Version Info File
Visual Studio 2022 since Version 3.0 T4.FileManager.VisualStudio.ttinclude
Visual Studio 2017, 2019 since Version 3.0 T4.FileManager.VisualStudio19.ttinclude

Visual Studio 16.9.x has a bug that prevents you from debugging T4 templates. See this post for an explanation on how to fix it.

Installing

Install the nuget package in your project.

Install-Package T4.FileManager.VisualStudio

For more information see documentation.

Running

The execution of the generation remains on the original T4 Text Templates.

Testing

There are some user story oriented Reqnroll tests for ensuring that the FileManager is working as expected. Tests for NET Framework are located in the project T4.FileManager.VisualStudio.AcceptanceCriteria and for NET 5+ in T4.FileManager.NetCore.AcceptanceCriteria.

Authors

  • René Leupold
  • Johnny Graber

How to Contribute

Pull-requests are welcome! Please follow these rules so that we can integrate your pull-requests without much effort:

  • Create an issue and explain the problem with an example
  • Reference the issue in your commits / pull-request
  • Document the new behavior (in the docs folder)
  • Create tests to verify the new behavior
  • All existing tests must still pass, including the acceptance tests (in the tests folder)
  • Clean-up the commit history
    • No fix commits
    • Changes that belong together are in the same commit
    • All commits have a meaningful commit message
  • Keep the code maintainable and focused on the problem you try to solve
    • No feature-flags to turn the main logic on or off
    • No C# preprocessor directives (like #if DEBUG)
    • No modification of the author list (on GitHub and in the NuGet package)
    • No changes on the code style and formatting

License

This project is licensed under the MIT License - see the LICENSE file for details.

Built With

Breaking changes to old T4.TemplateFileManager

See section breaking changes of Change log

Link to old T4.TemplateFileManager: https://github.com/renegadexx/T4.Helper.

T4 Intellisense Extensions for Visual Studio

About

With the T4.FileManager you can define into which files T4 generates your code. You are no longer bound to the default behaviour of T4 Text Templates that generates all the code of the “example.tt” template into a single “example.cs” file.

Topics

Resources

License

Stars

Watchers

Forks