Sublime Forum

TypeScript is not there yet to be called Supported

#1

I was very excited then it was announced there is Typescript support coming to Sublime 4 “out-of-the-box”

In reality it does not go much further that syntax highlight.
I do understand it is a complicated task to have everything on par with VSCode regarding TS and that is the reason it is so fast and MS’s TS plugin is so slow.

But it is really underwhelming:

For example, types, ST4 just does not have any type information. It is TYPEscript, folks. It just does not make sense without types. Types don’t have “got to definition”, and hovering on a typed variable shows nothing:

Then autocomplete. It’s nice what it is now content aware, but without types it’s just blind guessing:

Then definitions. I just wonder who may be interested in the fact what there is 15 other variables called target in the project? What value does it provide? There should be type here.

I can only have one picture, sorry:

Don’t get me wrong, ST4 is huge update, but TS support is just meaningless. It does not have any TS features it is used for.

Or maybe I just miss something? Or doing wrong?
Is there proper support for TS in future plans? I would pay third time if it does work out of the box and at least a bit faster than MS’s plugin.

0 Likes

#2

By the term official “supported”, it means syntax is supported imo.

If you want those fancy intellisense completions (and more), go LSP + LSP-typescript.

1 Like

#3

You need plugins to get VS Code intellisense as wrote before by @jfcherng. I also recommend you install the terminus plugin for handling NPM packages. Its legit a command line panel in ST just like you have in VS Code.

0 Likes

#4

The point is not about being VSCode, I am fine with ST as it is in that regard. The point is to “Support” TypeScript, which is a selling point on the product page. But it is not supported more than syntax highlight

1 Like

#5

Unfortunately, ST probably supports none of languages then.

0 Likes

#6

Having syntax supported in official ST really makes the syntax update cycle much longer than when it is created as a plugin… That is a bad thing I thought about a built-in syntax.

0 Likes

#7

I am kinda agree on the intellisence part, but not having at least “Go to definition” for a given type is a showstopper IMO

0 Likes

#8

‘go to definition’ should be supported (which is actually a syntax package issue in ST). If it doesn’t work, you may file an issue on the issue tracker. You will still have to use the LSP combo if you want accurate results though.

1 Like

#9

Hi, I completely agree with the author.

I saw Typescript support, jsx-I ran headlong to buy a license.

You know what, guys, it was very disappointing… your marketing ploy with TypeScript, instead of supporting the language, added SYNTAX HIGHLIGHTING.

PS: no need to send to use MS TS or LSP, these products work very unstable and with problems

2 Likes

#10

Works on my machine! Before in ST3 I had to use the typescript plugin for TS support. Now in the new ST(v.4) I don’t need to. Here is SublimeHQ response to the issue(now closed) above.

0 Likes

#11

FWIW I was living quite happily with syntax highlighting alone, but I revisited LSP / LSP-Typescript a few weeks ago and, for me at least, it seems to have come on in leaps and bounds.

Enough to install and enable it by default. I don’t know who to credit exactly - quite a few version changes of everything since I last tried it - but a pleasant surprise anyway.

One caveat maybe that I don’t use JSX, so YMMV.

0 Likes

#14

I’ll be honest I assumed the same as the author. I’d be interested to know what the difference is between LSP-Typescript compared to the Typescript plugin. Has anyone tried both?

0 Likes

#15

The Typescript package dates back to the pre - LSP - age. A time ST didn’t ship a Typescript or JSX/TSX syntax definition. It was an attempt to provide a fully featured IDE UX including IntelliSense features based on ST2’s and ST3’s python API.

When Microsoft started to dig into the LSP stuff for VSCode they stopped maintenance of Typscript package.

So sublimehq and the community has been quite busy to create superior JS/JSX/TS/TSX syntax definitons during ST4 development cylce between 2019 and May 2020.

As developing and maintaining a fully featured LSP-client is a huge undertaking especially as the protocol “standard” is changing quite quickly, sublimehq decided to provide required low-level APIs to enable the open source community to create and maintain such a client independendly from ST’s development cycles.

This was the birth of the LSP package. It provides most of required client functionalities and infrastructure to support all kinds of language servers. So called support packages (e.g.: LSP-Typescript) use that infrastructure to adapt specific language servers and provide an easy setup experience and language specific tweaks and configs.

Many people have called out for “open sourcing” ST over time. LSP is an attempt to partly do it for a single yet sophisticated functionality. Everyone can quickly find the number of active maintainers who really care about supporting ST.

So supporting TSX means …

  1. Syntax definitions are provided out of the box
  2. Intellisense features are provided by LSP and the corresponding support package such as LSP-Typescript

Everyone is welcome to support and improve LSP support.

6 Likes