Coder Social home page Coder Social logo

cats's Introduction

Introduction

CATS is an IDE for the TypeScript developer. CATS is open source software released under the Apache 2.0 license and runs on Linux, Windows and OS X. CATS itself is written in TypeScript and even being developed using CATS as the IDE.

Although not yet feature complete, it is getting there. Right now CATS already has built-in support for the following features:

  • Intelligent code editor with support for syntax highlighting and code completion.

  • Support for refactoring and smart navigation.
  • TypeScript compilation to JavaScript.
  • Validation of the source code while you are typing.
  • JavaScript JSHint support.
  • Editing features like folding and indentation.
  • Running your application from within IDE and using the WebKit debugger to debug.
  • External build systems
  • Theming:

It is recommended to first make a backup before using CATS on your project since the software is still considered to be of alpha quality.

Installation & Running CATS

To install CATS, just follow these steps:

  1. Download the CATS from Github:

     git clone https://github.com/jbaron/cats.git
    
  2. Download and install node-webkit. In case you don't have node-webkit yet, you can download a binary for Windows, Linux or Mac at: Node-Webkit. Make sure you have at least version 0.8.0 installed.

  3. Go to the cats directory and type:

     node-webkit </path/CATSInstallationDirectory> --project </path/projectDirectory>
    

With CATS you also get a samples directory with several small projects you can try out. Of course you can also open a directory that contains your own project. When you want to start CATS with a specific project, you have to pass the project directory as a command line parameter:

Windows example:

	node-webkit C:\cats --project C:\cats\samples\greeter

OSX and Linux example:

    nw /Users/peter/Development/cats --project /Users/peter/Development/cats/samples/greeter 

I'm using the nw alias in my ~/.bash_profile as explained on the node-webkit page:

    alias nw="/Applications/node-webkit.app/Contents/MacOS/node-webkit"

TIP: If you start CATS without the project parameter, it will re-open the last one and also restore the sessions that were still open when hen you quit the IDE.

Configuration

CATS will look for a file in the project directory called: ".settings/config.json". If found, CATS will use the values configured in this file, otherwise it will use some sensible default values. You can edit this file (or the default values if you don't have this file yet) from the main menu.

Goals

One of the main goals of CATS is to make the developer that is used to IDE's like Eclipse, NetBeans, Visual Studio or IntelliJ, feel right at home. So the same support you got from your IDE when you developed in Java or C#, is now available for TypeScript projects. And in order to be productive, it is also very important that an IDE is responsive. So while designing and developing CATS, performance is one of the key aspects. In fact, CATS runs fine on older hardware.

Bugs and Issues

In case you encounter an issue, you can open a ticket on Github. Also enhancement requests can be entered here: Github issue tracker

Building from source

There is normally no need to compile CATS yourself, since all the compiled files are already included. But if you want to play around with it, here are the steps:

  1. Make sure you have installed TypeScript 1.0.1 or later

  2. Also make sure you have Nodejs and Jake installed. You can get node from nodejs.org and after that install Jake:

     npm install -g jake
    
  3. Go to the cats directory

  4. The following will compile the required files:

     jake
    

That is all there is to it. The lib directory should now have an updated main.js, tsworker.js and uml.js files and you are ready to run CATS editor.

TIP: you can add the --debug flag to the commandline to get more info on what is going on internally within CATS.

Couldn't have done it without ....

There is not a lot of documentation yet explaining the structure of CATS and how the different parts relate to eachother. So the more surprised we were when we received some pull request that added functionality or fixed some bugs. So thanks to everyone who contributed some code to this project.

And of course some of the main 3rd party components that we have used within CATS and couldn't have done without:

  • TypeScript (of course), developed by Microsoft.

  • ACE, an embeddable code editor written in JavaScript. The main developers are Cloud9 and Mozilla.

  • Node-webkit. This is a great initiative from Intel to allow Node libraries to be used within a web page. CATS use this to read and write local files without the need for a server-side component.

  • jsUML2. This is library for creating UML diagrams done in pure JavaScript.

Todo

The todo list items are tracked as enhancement requests on GitHub. You can check them out at:

ToDo List

cats's People

Contributors

diullei avatar duanyao avatar maryo avatar mihailik avatar ztkavc avatar

Watchers

 avatar  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.