T4.FileManager.VisualStudio 4.0.2

dotnet add package T4.FileManager.VisualStudio --version 4.0.2                
NuGet\Install-Package T4.FileManager.VisualStudio -Version 4.0.2                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="T4.FileManager.VisualStudio" Version="4.0.2" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add T4.FileManager.VisualStudio --version 4.0.2                
#r "nuget: T4.FileManager.VisualStudio, 4.0.2"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install T4.FileManager.VisualStudio as a Cake Addin
#addin nuget:?package=T4.FileManager.VisualStudio&version=4.0.2

// Install T4.FileManager.VisualStudio as a Cake Tool
#tool nuget:?package=T4.FileManager.VisualStudio&version=4.0.2                

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

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.