Unfortunately, for Salesforce development the alternative is VSCode with subpar plugin (and tons of features blatantly stolen from independent IJ plugin developer)...
Unfortunately, for Salesforce development the alternative is VSCode with subpar plugin (and tons of features blatantly stolen from independent IJ plugin developer)...
I don't know about the graphics problems but you can disable focus stealing in your window manager. During the first time setup you are given the option of using other keys. For a vim-like experience you can use IdeaVim.
For node, IntelliJ gives you: code completion across files, debugging (local, remote, including Docker), testing (e.g.: automatically recognizes test cases and creates a run configuration from them), code coverage, type inference from JSDoc documentation or flow, linting, version control integration with excellent blame integration, etc.
> disable focus stealing in your window manager
Can you expand more on this. Two issues I have is:
- Launching IntelliJ and another app simultaneously would pop IJ on top. Very indicative of how Windows platform works. Basically not an issue as I launch it like once a month.
- Saving/building something would switch focus to Messages panel. Clicking on item in project view opens a file, but typing still happens on project view panel...
For focus within the editor, I've been pretty happy, but it does take a little learning to get a feel for the keyboard shortcuts. Quick rundown on focus, at least on Mac (other platforms/keymaps are mostly similar, I think):
• Cmd+1, Cmd+2, Cmd+3 etc focus and toggle the different panels.
• Wherever you are, Escape gets you back to the code. Shift+Escape closes the focused panel and moves back to the code.
• Option+Tab switches between code panes.
• Whenever you open code from any panel, Enter will open the code and leave focus on the panel, and Cmd+Down will open the code and move focus to the code.
I find it easy enough to switch focus that even if an action ends up in a focus state I don't expect, it's just a little muscle memory to move focus to what I want.
Every language has its own implementation of code intelligence, though, so for different languages you might see significant differences in things like indexing time and the performance and quality of autocomplete.
The best approach so far is Android and even then, I would say that the big difference between iOS and Android is precisely when the garbage collector kicks in and you get to see a phone with hiccups.
But of course, the Java language itself is loved by the academia as it conforms nicely to everything that is taught in proper architecture (even if it is verbose like no one)
I don't understand the downvotes for the comment though, jesus, it's like I insulted somebody's kid by giving my opinion.