Editors revisited (alternatives to WebStorm?)

Don’t get me wrong, I love WebStorm for a lot of reasons. The code formatting is superior to most things out there, being able to cmd-click to jump to definitions is really handy. But man, it’s definitely NOT lightweight by any stretch. Even on a high-end Mac Pro, it’s sluggish.

I’m looking at going back to Atom, but I’m wondering about a couple things:

  1. Are any React people using Nuclide? Is it worth it?
  2. What are must-have packages for Atom to get as much of WebStorm’s functionality as possible? For me, I have to have the ability to cmd-click a variable/function/etc and have it jump to the definition.

I get this with TypeScript and Visual Studio Code. I use Atom for text editing purposes, and VS Code with TS when I need hardcore IDE stuff.

1 Like

Ugh, the JS formatting/indentation in Atom is killing me. That’s the thing that rules about WebStorm, its code formatting is the greatest.

I wonder if it’s bugged because it’s only lately I’ve been noticing problems with this myself. I’m trying out VS Code again. In VS Code I don’t like multiple open folders having to be in separate windows and the vim mode package isn’t quite as good / stable as Atom’s but otherwise, so far so good.

I’m gonna give VS Code a shot, thanks for bringing it to my attention, @sashko!

I’m more intrigued by the “typescript” word in that sentence! :slight_smile:

PS: I’m also afraid one day typescript is going to fold into javascript and then someone will say “hey now that we’re a powerful language, we’ll drop the script in javascript and call it java” :wink:

1 Like

Honestly, I love Java :stuck_out_tongue: (not necessarily the exact syntax, but the incredible built-in tooling and debugging) - as far as I’m concerned software took a huge step back when everyone switched to languages that are impossible to build great tools for.

TypeScript is great. I’m sure Flow is great too, but I haven’t tried it in depth.

1 Like

Flow is pretty cool. It’s not 100% straightforward IMO, I think some aspects could be simpler. But I do like that it’s embedded into the actual JS files. The thing I don’t like about TypeScript is having .ts files everywhere. If there’s some way to clean those up though, I’d like to hear about it!

The file extension is not a concern for me, and I find it kinda nice to have exactly one language to deal with, rather than a huge list of Babel plugins, which might be different for every project.

Wait, so you don’t use Babel at all with TypeScript? What about Babel/ES6 constructs like object spread and class properties?

I just don’t use them, and it’s fine for me - when TypeScript supports those features, maybe I’ll use them in those projects. But for me personally the tradeoff of dealing with fewer tools is more than worth skimping on a few non-standard JS features. I understand it’s not necessarily the right tradeoff for everyone!

Note: In my hobby projects, I use Babel. TypeScript with these limitations is for the much more serious projects, where I really need everything to work every single time (AKA Apollo Client and friends)

2 Likes

What do you think about typescript in meteor projects?

I haven’t tried it yet! I only got into TypeScript recently, and the most recent project I built (last weekend) I just used the default ecmascript stuff. It would be great to have better support for TypeScript, and I think that the Angular 2 stuff is pushing that forward.

1 Like