Moving Fulcrum

Does Jetbrains have the wrong approach to TypeScript?

Published June 1st 2016

The WebStorm IDE is struggling in its TypeScript support. While it does evolve with every release, the TypeScript language support lags behind the latest language features. The existing support is incomplete and buggy. The whole experience is subpar especially compared to other Jetbrains' IDEs and even other TypeScript plugins for editors like Atom.

It seems the typical Jetbrains approach to IDE design is not working for TypeScript.

Microsoft does provide a 'Language Service' to easily provide code completion, etc for C# and TypeScript in any IDE. This is what is used by the TypeScript plugins for SublimeText, Atom, Visual Studio Code, etc. Jetbrains however likes to code their own lexers, parsers, etc for each language. This makes sense because their whole bread and butter is providing a superior IDE. Using the Microsoft service would keep the Jetbrains IDE only as good as Microsoft ones.

However, TypeScript is a different beast from other languages.

Python, Java, Ruby, etc evolve just a little bit every few years. That gives the Jetbrains people enough time to update their parsers and other features to fully support the updated language. TypeScript on the other hand gets new features every 3 months!

It seems there is only 1 dev allocated to the TypeScript support in WebStorm. This does not seem to be enough to keep up with the rapid pace of TypeScript's evolution.

Jetbrains needs to either allocate more resources to TypeScript support or just use the Microsoft provided Language Service for TypeScript. The current situation of having limited resources while trying to do everything themselves is resulting in a subpar experience.