Code Monkey home page Code Monkey logo

typewriter's Introduction

Typewriter (Unofficial fork)

Typewriter is a Visual Studio extensions that generates TypeScript files from c# code files using TypeScript Templates. This allows you to create fully typed TypeScript representations of server side API, models, controllers, SignalR hubs etc. that automatically updates when you make changes to your c# code.

Original Documentation
Download from Visual Studio Gallery old version 1.22.0

Why new fork?

It seems that Fredrik Hagnelius author of Typewriter is very busy and do not have enough time for supporting that extensions. From the other side that extensions really helps fulstack developers and work on it should be continued.

Main differences between original and this fork

Version 2.8.1

  • fixed tool manifest dependency to require VS 17.2.x

Version 2.8.0

  • version compatible with Visual Studio 17.2.x

Version 2.7.0

  • latest updates for Visual Studio 17.1.x

Version 2.6.1

  • fix relative paths in output directory - now relative to template location

Version 2.6.0

  • ability to setup different output directory in settings.OutputDirectory
  • ability to skip adding generated files in project in template by using settings.SkipAddingGeneratedFilesToProject

Version 2.5.0

  • file scoped namespaces C# 10 compatibility

Version 2.3.1

  • exposing solution path in settings

Version 2.2.6

Version 1.32.0

  • added DefaultValue

Version 1.31.0

Version 1.30.0

  • Added support for C# 9.0 records
  • Fixed error for 'string?' type - invalid marked as IsEnumerable

Issues

The issue tracker is the preferred channel for bug reports, features requests and submitting pull requests.
For personal support requests Stack Overflow is a better place to get help. Please use the typewriter tag when posting your questions.

Getting started

Step 1: Add a TypeScript Template file (.tst)
Step 2: Add the following code in the template

$Classes(*Model)[ // Find all classes with a name ending with Model
    class $Name {
        constructor($Properties[public $name: $Type][, ]) {
        }
    }
]

Step 3: Save the template
Step 4: Add a c# class named TestModel
Step 5: Add the following code to the class

using System;

namespace TestApplication
{
    public class TestModel
    {
        public int Id { get; set; }
        public int Name { get; set; }
    }
}

Step 6: Save the class.

Each time a class matching the filter in the template is saved a TypeScript class matching the template is updated or added to the project.

typewriter's People

Contributors

frhagn avatar adaskothebeast avatar johannordin avatar coolkev avatar seriousm avatar rodro75 avatar marcel1024 avatar primalzed avatar jotabe-net avatar floatas avatar plasmaboyer avatar michael-tajmajer-emrsn avatar mike-ward avatar tiesont avatar rudeysh avatar skubekk avatar msawczyn avatar michaelaird avatar juliogold avatar jonstelly avatar tolemac avatar flayngordt avatar aluanhaddad 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.