Live data from Hacker News

Reflections on IDEA vs VS Code

archive.vn

11–20 of 413 posts

Re: Reflections on IDEA vs VS Code

#11
For typed languages like Java and Kotlin there is really no competition. IntelliJ is just clearly above every other IDE. For dynamic languages advantages are less clear, but still there. Every time I tried to use VsCode for longer periods of time on my JS/TS projects, I would stumble on many small bugs and problems, usually with extensions that I would loose the nerve and just get back to Webstorm.

Re: Reflections on IDEA vs VS Code

#12
post #4

I think JetBrains is much better than VScode for development. However, for me VScode is always open, and I frequently open files with VScode from the terminal code filename

I know you can do similarly with the IntelliJ apps. For me I can also do `pstorm filename` and open in PHPStorm.

Of course for single one off files I prefer to open in sublime because of how much faster it is.

Re: Reflections on IDEA vs VS Code

#13
Funny that the LSP wanted to give IDEs a way to move fast, by getting its info directly from the compiler and then slow compiling languages like Rust built another tool (the analyzer) to make IDEs fast again.

My switch away from WebStorm was with the rise of compile-to-js languages. I asked myself, do I get more from a new language than a fully fledged IDE with JS-only support? And I choose to go Sublime and then VSCode.

In a fast moving industry there is simply no way I'm going to wait for an IDE vendor to implement everything I want to use.

Re: Reflections on IDEA vs VS Code

#14
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.

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.

Re: Reflections on IDEA vs VS Code

#15

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…

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

Re: Reflections on IDEA vs VS Code

#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-level intro about what LSP is, which is basically marketing, and then it has some sort-of details about (maybe) all the interfaces supported by LSP. But I was sorely lacking that "middle" documentation about how to practically get set up and do things. I had to piece a lot of things together through blog posts, and reverse engineering mature LSP implementations like rust-analyzer. And the documentation you do have of the individual interfaces is kind of weird. Like LSP is a JSON-RPC protocol, but documentation of the objects involved is all C# code, which is never really explained. 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, so you just have to look up VSCode documentation to figure out what any of this means.

I feel like LSP is sold as a general framework for IDE-independence, but working with it feels a lot more like you've just given access to some of the internal API's in VSCode via JSON-RPC, and other editors have just adapted to this.

LSP is a great concept, but I can imagine if you really approached this problem from scratch, you could probably reach a much better, more sensible result.

Re: Reflections on IDEA vs VS Code

#17
Mmm... Feels more like a loss leader than a technical disruption.

Don’t get more wrong; look at Teams, it clearly works to offer a low/zero cost inferior product that is integrated into existing products, so fair call.

...but all that technical stuff? Oh come on; the jetbrains products are better, at basically everything; the only reason more people dont use them is that you have to actually pay for them.

Sure, vscode starts more quickly on a low end machine when you have no plugins installed, but the quality of plugins varies wildly and so does the memory use / speed of vscode when you have them installed.

...and the tools it offers for most languages is simply... inferior; there simply no other way to describe the support for Java, kotlin, go, rust, python, c#.

So... you know, in some ways it does feel like a disruption going on, but not because of technical reasons; Microsoft is just playing the “we have lots of money” card.

Re: Reflections on IDEA vs VS Code

#18

Earlier quoted context omitted.

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.

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 Java if it isn’t already will happened is only a matter of time if they invest.

Re: Reflections on IDEA vs VS Code

#19
post #13

Funny that the LSP wanted to give IDEs a way to move fast, by getting its info directly from the compiler and then slow compiling languages like Rust built another tool (the analyzer) to make IDEs fast again. My switch away from WebStorm was with the rise of compile-to-js languages. I asked myself, do I get more from a new language than a fully fledged IDE with JS-only support? And I choose to go Sublime and then VSC…

> Funny that the LSP wanted to give IDEs a way to move fast, by getting its info directly from the compiler and then slow compiling languages like Rust built another tool (the analyzer) to make IDEs fast again.

I don't think that was the main goal. The main goal was giving a standardised protocol for implementing language support in IDEs, so instead of needing n * m implementations for n IDEs and m languages, only m implementations are required. The idea that you could use the language's compiler to implement this was only a bonus (and it's not a very good one in practise: the requirements on parsing and analysing code as it's being edited are very different from when compiling. That's the core reason for rust-analyser taking over from RLS. Without the LSP concept you could just as well build the compiler as a library into whatever plugin architechture you had).

Re: Reflections on IDEA vs VS Code

#20

Earlier quoted context omitted.

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…

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.
Post reply on HN