Giter Site home page Giter Site logo

desarrollo03tr / t4toolbox Goto Github PK

View Code? Open in Web Editor NEW

This project forked from olegsych/t4toolbox

0.0 0.0 0.0 558 KB

Home Page: http://olegsych.github.io/T4Toolbox

License: MIT License

C# 98.68% PowerShell 0.12% Smalltalk 0.42% Yacc 0.25% Lex 0.53%

t4toolbox's Introduction

T4 Toolbox

T4 Toolbox extends the code generation functionality of the T4 text templates in Visual Studio and allows you to:

  • Generate multiple output files from a single text template
  • Automatically add output files to one or more projects and folders
  • Automatically add or check-out generated files from source control
  • Edit text templates in Visual Studio 2015 with syntax colorization, outlining, QuickInfo tooltips, error reporting and statement completion

You can install the latest stable version of T4 Toolbox using the Extension Manager in Visual Studio or download it from the marketplace. To learn more, visit the Getting Started wiki page.

Building T4 Toolbox

Build status

Pre-requisites

Open T4Toolbox.sln in Visual Studio and build it. The NuGet packages the solution depends on should be restored automatically by Visual Studio. If you have disabled the automatic NuGet package restore in Visual Studio options, you can restore them manually by launching the NuGet Package Manager from the Solution Explorer.

The Debug configuration of the solution builds fast. It builds in seconds and you'll want to use it most of the time to stay productive.

The Release configuration of the solution builds slow because it runs FxCop and StyleCop checks. It can take a minute or more to build and you'll want to avoid it while working with tests, because Test Explorer builds the entire solution for every test run.

Build the Release configuration before submitting pull requests.

Running Tests

The unit test projects (*.Tests.csproj) contain close to a thousand tests. They are fast, but you'll want to run them separately from the integration tests to keep the test runs under 10 seconds. For that:

  • Enter the following filter in the Test Explorer: -Project:Integration (the dash is important).
  • Ensure that no test settings file is selected in the Test / Test Settings menu of Visual Studio.

The integration test projects (*.IntegrationTests.csproj) contain close to a hundred tests. They have to be executed by a special test host inside of the Experimental instance of Visual Studio. The test host is slow, and you'll want to exclude the unit tests to keep the integration test runs under a minute. For that:

  • Enter the following filter in the Test Explorer: Project:Integration (there should be no dash).
  • Select LocalTestRun.testsettings in the Test / Test Settings menu of Visual Studio.
  • At the start of a new test run, you may have to click through the Visual Studio sign-in and initial setup pages.

Debugging

You can debug unit and integration tests by selecting the Debug commands in Test Explorer.

Alternatively, you can debug both generator and editor code by running it in Visual Studio. For that, set the T4Toolbox.vsix project as the startup project in Solution Explorer and specify the following options on the Debug page of the project properties.

  • Start Action / Start external program: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe
  • Start Options / Command line arguments: /rootSuffix Exp

With these settings in place, building the solution will automatically install the extension in the experimental hive of Visual Studio and starting the debugging will automatically launch an experimental instance of Visual Studio and attach your debugger to it.

t4toolbox's People

Contributors

hagronnestad avatar olegsych avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.