Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

in my experience Intellij looks better if you have coded in Inttellij first (especially Java) and then moved to othet tools.

Intellij offers a lot of custom behaviours that IMO programmers start coding the "Intellij way" (let's call it Intellij muscle memory for lack of a better definition) on the other hand going from vi to Emacs to Sublime to VSCode is less of a problem and people tend to honestly judge strength and weaknesses of each one.

For example magit is so good (for me) that until the magit plugin for VSCode came out I kept an instance of Emacs running only to interact with the git repository.

Intellij git integration in comparison, in my opinion, it's barely usable and generally counter intuitive.

BTW the java plugin bundle for VSCode replicates 95% of the features of Intellij, except for some formatting styles and a few of the refactoring facilities that I could not reproduce, I switched from Intellij to VSCode without looking back. There's even a keyboard bindings plugin for VSCode that perfectly maps IJ keyboard shortcuts.

If only the VSCode java ecosystem was refined as it is today 2 years ago when the project I am working on started, I would have never even downloaded Intellij.

If I had an euro for every time I had to "Invalidate cache and restart" on Intellij to make it recognize some trivial change, I would be rich now.

Having said that: they are different products for different targets.

Intellij has a huge advantage in corporate environments where conformity, uniformity and easily replacing team members are paramount, VSCode is an highly customizable code editor that fits a different use case where each member of the team prefers to customize the working experience as much as possible.



> Intellij git integration in comparison, in my opinion, it's barely usable and generally counter intuitive.

Disagree. I use it all the time. It's sooo nice to have the different changelists. Easy to make changes that I don't want to accidentally commit by putting them on a different changelist (like pointing to a different database). And it can be split even in the same file, much more easily to commit parts like this than using git -p.

> BTW the java plugin bundle for VSCode replicates 95% of the features of Intellij,

If you only look at the textual java code, perhaps. But it lacks the awareness of the rest of the java ecosystem that Intellij provides.


I think the git support used to be worse but now it is pretty great imho.


> But it lacks the awareness of the rest of the java ecosystem that Intellij provides.

Can you give me an example of what you mean?


Something Java accidentally did was be impossible to code without an IDE, in part because of its type system. People wrote really good IDEs for it, aided by the type system. At some point, they realized they could use what they learned and adapt the IDE to other languages.


At least most of our java program is written by us. Compared to visual studio (not vs code) where a wizard will generate thousands of lines of config no one dares to touch again or know how to modify.


It wasn’t accidental. JavaBeans were explicitly designed for “wiring up” UIs in IDEs and are the reason the horrible getters/setters are ubiquitous in Java.

It’s also why NetBeans was a part of Java for so long (is it still?)

The main reason I started using IDEs was automatic imports. Funnily enough, when I went from VSCode to GoLand, one of the things I miss is the import management, which is better in VSCode. But for everything else, especially refactoring, GoLand is better.


> Intellij git integration in comparison, in my opinion, it's barely usable and generally counter intuitive.

You're going to have to explain that one to me. I don't know what part of `ctrl+k`, comment, `ctrl+enter` to commit is difficult. Keeps my hands on the keyboard and head in the code. Time to push? `ctrl+shift+k`. Update? `ctrl+t`.

I have yet to find any IDE that performs as well as IntelliJ et al.


> I don't know what part of `ctrl+k`, comment, `ctrl+enter` to commit is difficult.

who said difficult?

training wheels are not difficukt to use, but that's not how biking actually works.

> I have yet to find any IDE that performs as well as IntelliJ et al.

fortunately, there are different kinds of people.


Forgive me, 'unusable'. Hardly training wheels in any case.


I had the exact same feeling arriving into projects using PyCharm: somehow I could feel PyCharm's influence over the code and ignorance of the non-IDEA tools (e.g. makefile/isort/black, which are usually superior/easier to use than the mouse oriented interface of PyCharm). I even use a phrase for the way they are developed: PyCharm oriented development.

VSCode is better at first, unless you need to work with Python 2.7, where it fails completely: there is no good lsp for it (intellisense fails), and working this problem around by downgrading to ctags does not work either.

The best I can say about them is that both has decent multi cursor implementation.


> in my experience Intellij looks better if you have coded in Inttellij first (especially Java) and then moved to othet tools.

I have started with notepad and moved through vi, Eclipse, VSCode and then IntelliJ. Out of these I used Eclipse and IntelliJ for Java and IntelliJ wins hands down when it comes to the quality of the features, atleast for Java.

> Intellij offers a lot of custom behaviours that IMO programmers start coding the "Intellij way" (let's call it Intellij muscle memory for lack of a better definition) on the other hand going from vi to Emacs to Sublime to VSCode is less of a problem and people tend to honestly judge strength and weaknesses of each one.

Since I didn't start with IntelliJ, I didn't have any baggage of muscle memory etc but the ease of refactoring and the quality of autocomplete/suggestions of refactoring takes it beyond an editor to almost a companion. It doesn't nag and you are free to ignore its suggestions but hell those are pretty good suggestions. I use a few keyboard shortcuts like jumping to definition and checking usage so I don't have any keyboard focused attachment to IntelliJ. Infact I use vi keybindings in both VSCode and IntelliJ.

> Intellij git integration in comparison, in my opinion, it's barely usable and generally counter intuitive.

IntelliJ's git integration is definitely not barely useable and not counter intuitive either (I started with command line git and then worked on IntelliJ). The only gripe I have is that occasionally I want to create a branch from a tag and I need to do that from the command line. Everything else works seamlessly.

> If I had an euro for every time I had to "Invalidate cache and restart" on Intellij to make it recognize some trivial change, I would be rich now.

I've had to do invalidate cache and restart about 2 times in last two years so while it is not a great use of my time when I have to do it, its not a big bother considering it is rare for me.

> Intellij has a huge advantage in corporate environments where conformity, uniformity and easily replacing team members are paramount, VSCode is an highly customizable code editor that fits a different use case where each member of the team prefers to customize the working experience as much as possible.

In my team, the average period folks have been with the firm is 3 years so easily replacing people is not a priority (because they are not leaving left, right and center). Also, I'm not even sure if that makes any difference, because its not like we are coding style nazis carrying out IntelliJ dictated formatting (we use Sonarlint for linting and only expect people to code in a manner that is easy to understand and maintain). Almost all team members have used Eclipse / VSCode and atleast for Java, after they used IntelliJ, they haven't gone back to either.


> Almost all team members have used Eclipse / VSCode and atleast for Java, after they used IntelliJ, they haven't gone back to either.

I was also using it because my team was using it and it holds value to share a screen and watch the same thing or when debugging an issue replicating the same exact steps, having different tools can make it harder.

My point is that when you have a stable setup any setup is good if it's good for you, Intellij is better on some things but worse on other that I personally value more

the git integration for example, which works backwards compared to how git works: stage/commit/push

in Intellij I am presented with all the tracked files already staged, the commit message box is already filled with the last one, files are showed as a tree instead of the classic list with paths and I have to look for untracked files that are collapsed by default.

Magit is much simpler and intuitive IMO.

> I've had to do invalidate cache and restart about 2 times in last two years so while it is not a great use of my time when I have to do it, its not a big bother considering it is rare for me.

I wish it was like that for me.

Or probably I am simply doing something wrong but no amount of Google fu helped me to avoid the issue, the only thing that works is pushing the damned "invalidate and restart" button (and sometimes running mvn idea:idea from the command line, but I gather it is obsolete and not actively supported anymore)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: