Live data from Hacker News

Reflections on IDEA vs VS Code

archive.vn

31–40 of 413 posts

Re: Reflections on IDEA vs VS Code

#31

Most of this post is just speculation like " I seriously doubt it will work well in an average cafe though " without much substance. Either test it or report on it, or at least discuss its shortcomings based on some technical merits. And frankly I don't care how well it works on "spotty café wifi". If the wifi sucks I wouldn't sit there and work anyway. As for the language server protocol, nothing stops IDEA from doi…

One of the things that baffles me is the rust-Lang support. Rust-lang has an official dual-licensed MIT/Apache language server protocol implementation (RLS) under active development. In my view it’s currently a better experience than the custom IntelliJ one. Instead of collaborating though I see IntelliJ continuing on the path of their custom implementation. Every week RLS gives an update on their progress and so doe…

> Instead of collaborating though I see IntelliJ continuing on the path of their custom implementation.

I haven't checked in a while, but RLS was sub-par for a long time (feature- and latencywise). Tight integration has its benefits if you can afford it (and apparently they can). So I guess as soon as they can get the same properties from RLS as from their own implementation they'd switch. But if it meant having to rewrite a lot of stuff that suddenly also becomes available to competitors that seems like a dumb move.

Re: Reflections on IDEA vs VS Code

#32
post #10
post #3

I don’t really see IntelliJ and VSCode as competitors. VSCode competes with atom and other full-featured text editors (vim, emacs) ... its got great adoption amongst the newer generation of programmers that think those editors are old school and user hostile. VSCodes Java, Python, and Golang support is miles behind IntelliJ. FWIW, on my team at Microsoft where we write a lot of Go, theres a 50/50 split between Intell…

Interesting. I have used IntelliJ for Java for as long as I can remember and can't imagine using anything else. For JS and Go I use VSCode. I wonder if it's just what I started with and am used to. I've tried to use Intellij a couple of times for Go, but end up back on VSCode.

Goland is great if you have IntelliJ muscle memory, I haven't tried using IntelliJ directly for Go though, Imagine it's probably sub-optimal.

You do have to pay for Goland also.

Re: Reflections on IDEA vs VS Code

#33
post #3

I don’t really see IntelliJ and VSCode as competitors. VSCode competes with atom and other full-featured text editors (vim, emacs) ... its got great adoption amongst the newer generation of programmers that think those editors are old school and user hostile. VSCodes Java, Python, and Golang support is miles behind IntelliJ. FWIW, on my team at Microsoft where we write a lot of Go, theres a 50/50 split between Intell…

I haven’t tried the Java integration but based on using VSCode for TypeScript I could imagine feature parity. VSCode is so good that it makes me concerned Microsoft is just using it to eat at JetBrains until they up and start charging for it in the future. Not sure how else to see it.

I think VSCode is really good, but even when I was only writing JS I ended up preferring WebStorm. I like its refactoring tools and command palette better, and I also prefer its "batteries-included" rather than "plugin-first" approach (although I do have a few plugins on JetBrains products always, such as Vim, there are significantly fewer than in VSCode)

Anecdotally, I know other devs in the same situation. You wouldn't pry WebStorm from their cold dead hands, even with an excellent free offering like VSCode. But I also know some who don't understand why you would pay for WebStorm when VSCode is free, which is reasonable (though if they took WS for a spin, they might change their minds).

Now that I write mostly Python and JS there is no contest at all. I get all the JS/TS goodies, plus absolutely amazing Python features.

Like GP is saying, I don't think JetBrains and VSCode even compete that much. Maybe VSCode will capture a good part of the JS world - which is huge of course - but I think WebStorm will maintain a decent foothold there no matter what, and I think JetBrains will remain very strong in other languages.

Re: Reflections on IDEA vs VS Code

#34
post #23

Language support in VSCode for Go breaks in unexpected ways after every update of Go, VSCode or any plugin involved. gopls has not helped at all so far. Golang or IntelliJ with the Go plugin just work. I have been trying to use Code instead of IDEA for 3 years and it is just not worth it. VSCode startup also is not as fast anymore, so that USP is gone as well. Debugging features are not even comparable, the differenc…

Oh and i want to add that VSCode actually created a lot of damage for me.

There were multiple instances where i practiced a live coding session for some talk or other a day before and after arriving to the venue Code language support just broke for some reason or other. This happened like 50% of the time. One time if destroyed a lot of the session because it just automatically did nonsensical imports during my live coding!

Re: Reflections on IDEA vs VS Code

#35

Earlier quoted context omitted.

So VSCode is very, very good for TypeScript. Hell, I'm pretty sure VSCode itself is written in TypeScript! But that does not carry over to all languages. When working on web apps with a Java backend, I still prefer Idea because it's better for Java and close enough for TypeScript so it comes out ahead over all.

> But that does not carry over to all languages. It does. All languages are basically the same. They parse to ASTs that you can manipulate programmatically. If those ASTs are strongly typed, you can safely perform refractors. What makes IntelliJ good is the base framework JetBrains uses, the same one they use in WebStorm, PyCharm, etc. VSCode is that same thing: an adaptable base and I’m sure making it on par for Jav…

No. Microsoft has delegated Java support to redhat.

...no surprise, why would they waste their time on it? They give zero fruitcakes about Java.

Let’s just say, 3rd party plugins (like the redhat Java language support) are.... not of the same quality... as the Microsoft plugins.

Re: Reflections on IDEA vs VS Code

#36

Earlier quoted context omitted.

So VSCode is very, very good for TypeScript. Hell, I'm pretty sure VSCode itself is written in TypeScript! But that does not carry over to all languages. When working on web apps with a Java backend, I still prefer Idea because it's better for Java and close enough for TypeScript so it comes out ahead over all.

> But that does not carry over to all languages. It does. All languages are basically the same. They parse to ASTs that you can manipulate programmatically. If those ASTs are strongly typed, you can safely perform refractors. What makes IntelliJ good is the base framework JetBrains uses, the same one they use in WebStorm, PyCharm, etc. VSCode is that same thing: an adaptable base and I’m sure making it on par for Jav…

The language server is a really small part of an IDE, though. IDEA has soo many Java specific features I use every day (like maven, spring and other tools, debugger, hot reloading, profiling etc), and other non-language specific stuff like db viewer.

Re: Reflections on IDEA vs VS Code

#37
Critique of the post: The belief that LSP are implemented in the compiler is mostly plain wrong. They might or might not be maintained by the same team as the language team but are almost always a separate library that interface through the compiler through APIs. Yes compiler have became much more queryable.

Intellij has had a technology similar to LSP (and much more complete) a decade before it's "invention" and do leverage compiler APIs. Which btw allow intellij to support LSP (apparently) https://plugins.jetbrains.com/plugin/10209-lsp-support

The only point here is: Vscode has better and earlier support for niche technologies This does not at all outweight the tremendous gap between vscode support for non-niche technologies versus the excellence of intellij support of non-niche technologies, it's two different worlds comparing them is proof of pure ignorance.

The point on code with Me is nonsensical, vscode (and atom before through teletype) supported real time pair programming before, jetbrains is here playing catch-up (for once)

However the point on Electron enabling better rendering performance is actually true, skia is just the fastest 2D renderer to exists and it's time for people to understand that objectively on this aspect native gui toolkits are obscolete. This is why JetBrains has made skia bindings for Java and develop jetpack compose for desktop which Wil enable them to reuse the chromium rendering engine (skia) for Intellij IDEs while allowing their frontend to be in jvm languages (which are multiple time faster than js) However I believe that skia alone isn't enough and a lot of engineering effort must be made to match the chromium rendering performance (cf the various flutter performance issues(yes Ionic has faster rendering))

One must understand that adding more features does not equal making intellij slower, given enough engineering resources. Actually intellij IDEs are quite fast nowadays and it improve regularly.

Regarding the github.com argument for Microsoft: It's simple, intellij has perfect support for github, you can create pull request from the IDE and the only remaining improvements to make should not make a huge difference.

Re: Reflections on IDEA vs VS Code

#38

Earlier quoted context omitted.

So VSCode is very, very good for TypeScript. Hell, I'm pretty sure VSCode itself is written in TypeScript! But that does not carry over to all languages. When working on web apps with a Java backend, I still prefer Idea because it's better for Java and close enough for TypeScript so it comes out ahead over all.

> But that does not carry over to all languages. It does. All languages are basically the same. They parse to ASTs that you can manipulate programmatically. If those ASTs are strongly typed, you can safely perform refractors. What makes IntelliJ good is the base framework JetBrains uses, the same one they use in WebStorm, PyCharm, etc. VSCode is that same thing: an adaptable base and I’m sure making it on par for Jav…

Eventually LSP will be totally solved.

Re: Reflections on IDEA vs VS Code

#39
post #20

Earlier quoted context omitted.

Do you mean rust-analyzer's good experience and progress updates? RLS is in maintenance mode and deprecated in favor of rust-analyzer.

So will rust-analyzer also replace rustc eventually as the main rust compiler? Seems like a lot of overhead to keep two compiler versions at parity.

rust-analyzer is not a compiler. They plan on sharing a lot of code though.

Re: Reflections on IDEA vs VS Code

#40
post #16

> The key technology here is probably the Language Server Protocol I've been working on an LSP implementation lately, and I have to say so far the reality falls short of the promise. I feel like what LSP should be is a clear, simple interface for implementing IDE-like features for any language, but my experience is that it is incredibly arcane and difficult to use. The main issue is the documentation. It has a high-l…

As someone who wrote an LSP implementing server 2 years ago (when the documentation was even less complete), I can't really relate to this.

As far as I know, the LSP specification only accepts PRs once there is a reference implementation. So you can literally just run VS Code with verbose logging turned on for the reference language server and inspect the communications.

I did my learning by literally following the VS Code guide (the reference implementation) https://code.visualstudio.com/api/language-extensions/progra... and implementing each feature one by one.

You simply return an object following the interface and features magically work. It's wonderful. I added the "Outline" feature in VS Code, and the similar feature to show all symbols in a file in vim in about 2 hours.

> And many of the concepts, like what a 'code lens' is, what properties it has, and how it would appear in an editor are never explained=

Well, no, because they're not specified. How vim displays a code lens might be very different to how VS code does.

Post reply on HN