Tools I use: PyCharm / Idea plugins
blog.rfox.eu
blog.rfox.eu
My backup IDE is spacemacs for the same reason minus the smart code completion (getting better with lsp).
The only disadvantage is I currently work on a frontend team and I constantly get laughed out the room for screensharing webstorm instead of vscode lol
I like WebStorm just because they have a team working on making things work out of the box instead of a group of plugins. When I switch languages, everything is exactly the same.
I fully agree also on creating your own cheat sheets. That's why I have developed an entire app around this idea: KeyCombiner[2]!
It let's you create your own collections, practice them via an interactive trainer and spaced repetition, look them up without context switch through the desktop app's instant look, visualize them on a virtual keyboard, etc.
[1] https://tkainrad.dev/posts/learning-all-vscode-shortcuts-evo...
Just double click shift and type what you want to do. Eg Indent code. Even if you need to type a lot it’s faster than moving the mouse. As bonus the hotkey is printed in the same menu so you can use it next time.
Vscode has its equivalent at ctrl+shift+p.
Or F1. I've set this key mapping also in IntelliJ. It's faster to type than twice the same key.
Happy to answer any questions you might have!
Will definitely be installing this Monday.
I pressed ⌘ ⇧ A and typed "Choose Boot" in Actions, picked "Choose Boot Java Runtime for the IDE", then selected Zulu 15 and restarted IntelliJ… then the outline of main window loaded with its menu, but none of its contents. It was all gray and none of the panels ever appeared. They eventually showed up after I resized the window but I'd consistently get in this state each time the IDE started.
Also, the fonts didn't appear to render correctly. It's hard to say exactly what's wrong with them but the letter spacing and subpixel rendering seemed to be different.
Is there anything else to do to make this work without having to resize the window each time?
Sorry for getting your hopes up. OTOH, Linux on the desktop is pretty good in 2021 :-) In this case, it certainly beats the Mac! :-P
Funny, I used to think myself knowledgeable for knowing what JVM knobs to twiddle out of the box. Now I see that the fact they need adjusting out of the box is a weakness of the platform itself.
IDEA and CLion won't start with JDK 16 or later, so I'm using JDK 15 for those. All the other JetBrains IDEs work with JDK 16. In all cases, features using the JCEF [1] runtime library, which is bundled with the JBR [2], will not be available.
I'm using these options on Debian/unstable on all JetBrains IDEs, with both JDK 15 and JDK 16.
-XX:+IgnoreUnrecognizedVMOptions
-XX:+UnlockExperimentalVMOptions
-XX:+UseZGC
-XX:-UseG1GC
-XX:C1CompileThreshold=100
-XX:C2CompileThreshold=5000
-Xms4G
-Xmx4G
-XX:ReservedCodeCacheSize=512m
-XX:SoftRefLRUPolicyMSPerMB=50
-XX:CICompilerCount=2
--illegal-access=permit
Adding -XX:ReservedCodeCacheSize= and -XX:SoftRefLRUPolicyMSPerMB= made all the difference in keeping heap usage down. I have not yet experimented with different values for those parameters.The option --illegal-access=permit is required on JDK 16, but this option was removed in JDK 17, and because of this (but probably not only this) I haven't yet been able to make any JetBrains IDE work with JDK 17.
In adjusting all of these settings, YMMV depending on your system. Good luck!
[1] https://github.com/JetBrains/jcef
[2] which is currently based on JDK 11
Do you have any basis for this "best in class" claim? Have you tried VSCode recently? I think you'll find that it is much lower latency.
A quick search on the JetBrains bug tracker https://youtrack.jetbrains.com/ suggests that people have had problems over many years across different platforms.
For example: https://youtrack.jetbrains.com/issues?q=linux%20editor%20unr...
Take a look at these benchmarks https://pavelfatin.com/typing-with-pleasure/#linux
Things have evidently got much worse since that study was made. Lately, the editor is plagued not only with delays in syntax highlighting, but also complete lock-ups (keyboard unresponsive in editor panes), requiring the IDE to be restarted.
I have been a paying customer of JetBrains since 2015 and have found the recent offerings to be so goopy and slow that I was ready to cancel and switch to VSCode [2] like everyone else at work. The only thing which stopped me doing so was switching the boot JDK from JBR JDK 11 to Azul Zulu 15 (though I suspect any 15 JDK will have had the same effect.) Cancelling your subscription is the best way to be heard.
Constantly growing and developing software systems collapse under their own weight eventually, and JetBrains' products are no exception.
[1] I find it weird and distasteful that an employee is advertising the company's products in this way.
[2] or emacs, which is wicked-fast with native-comp
I.e.,
your code is
def function_1 def function_2 def function_3
and the plugin provides clickable links to the function definition
[1] You can see it on the left https://blog.rfox.eu/en/Programming/Tools_I_use/Tools_I_use_...
Makes me wish I could compile it myself. Sadly compiling pycharm extensions isn’t for the faint of heart (or drive space).
I've been trying the "built your own IDE from the editor" approach using Sublime, VSCode, and several other editors, but it doesn't work as good as good IDE. Especially the I in the IDE is important. And also that it actually really works and is integrated by someone else. I can't even remember how many times I've got broken things in VSCode, for example when I was using rope (refactoring library) or MS plugins for code analysis.
PyCharm has a superior understanding of the code, which allows you to do refactoring and other things effectively. What convinced me to use it was when I've seen other people use highlevel features like "take this piece of code, move it into own method and set theese default parameters" without even thinking, in split second decisions. I've read Effective PyCharm and kinda decided, that I don't have enough time to try to make my own IDE from things that will never get the integration to the level PyCharm already has. It was a pain (it took me something like two weeks just to map all the keys and set the defaults), but it made me much more effective.
- IdeaVim
- Cmd-/ to split and move right
- Cmd-<left|right> to cycle through tabs (inspired by iTerm)I'm in a polyglot environment, and it's frustrating to jump from editor to editor.