I use Jetbrains IDEs now for 5 years, I've used VSCode, Sublime, Atom, Vim, Neovim but I feel like Jetbrains IDEs are just better if you have the RAM to run it.
It's a setting.
Doesn't happen
Doesn't happen
Searchable actions, just search for "encoding" in this case.
That's an LSP/project mismatch usually just a setting. Most things are supported but worst case you can remove the error.
Happens if you run out of RAM or open a very large file.
So it's not all bad, but comes with a lot of good such as "invert if statement", "use template strings" and "extract method" thingies along with a load of plugins.
can also sometimes happen when your workplaces corporate antivirus you can't uninstall, pause, or change any settings on decides to scan your project files while a build is in progress 🤦🤦🤦
Agree. I used a ton of different IDEs too and I can say Rider was the least terrible one I've used professionally (mostly on Unreal Engine projects, so having the thing not kill itself when trying to compute large, complex codebases for syntax highlighting/autocomplete was a requirement).
Number 3 happens all the time to me when using VSCode with Copilot as autocomplete. Copilot sometimes works, sometimes doesn't. Also happens a lot when using Pycharm with Python. Sometimes it's great at autocompleting, sometimes it completely gets lost and has no idea what my Python script is doing.
Number 5 also happens a lot on VSCode + Platformio. It also frequently happens on Intellij IDEA for me, but mostly when I am concurrently running build or test while writing. My crappy work laptop suffers from Windows 11 related performance issues, and when there's not enough performance available, underlines do get wonky quite frequently.
I also had issue when I was working on a pycharm project back when I was on windows. During setup it asked me "What's your name?" and my name has a cheeky accent which Windows was decided should be the name of my Home folder. Home folder also has appdata and whatnon so which the build system didn't expect to have a an accent in the folder path.
I ended up having to create a different folder and link to it then move all the path configurations to that folder link just so I could get imports working.
I can't live without VIM keybinds. Maybe I'm a boomer. I do use it as a note taking or "collect my thoughts" app. Or just a place to paste shit when I'm working. Very useful for that. Though only when I'm forced to be on Windows.
Kate is great for being a compiled C++ program, making it nice and lightweight. Plus lots of syntax highlighting. Not quite the same as IDEs with auto completion, but pretty good for plain text editing.
It can give autocompletion based on the current file, which is good for writing self contained classes. You can also enable an LSP to get language autocompletion :D
When I started working for my current employer, I was surprised by how much ram my VDI has. We're not allowed to code on our own devices (but those are still specced out) but 64 Gs of ram in a virtual desktop was a welcome environment to work in.
VSCode is the first development environment I’ve used that doesn’t make me feel like this. It’s not perfect but the base application is rock solid and the full DE experience is the more reliable than any other DE I’ve used.
P.S. I specifically said DE for those people who say VSCode isn’t an IDE. Personally I don’t see the point in differentiating.
P.P.S. Sublime is not a DE in my opinion. It’s an excellent text editor with syntax highlighting. The plugins were an afterthought and it was never intended to provide the full experience. Granted I haven’t used it in years.
VSCode is by far and away the best thing Microsoft has ever done. (I'm sure therefore they will ruin it eventually, but that's a separate issue)
Its good for two main reasons IMO:
It is plugin-based
It is (therefore) language-agnostic
Plugins mean the DE starts as a very lightweight thing that is basically nothing more than a text editor. You can then add as much or as little as you want to get the level of features you are comfortable with but without being too bloated.
And then, because it's all plugins, you can work with any language and still stay within the same editor. Divine.
I personally love how lightweight it is compared to a full IDE because I don't like it when IDEs hide the magic behind UI. Press the button and it compiles huh? But how? What's going on there? What toolchain and commands are being executed?
I much prefer a good MAKEFILE where you know what your entry points are and what is going on, because it makes everything so much more portable and also improves your own knowledge and understanding.
I've had everything on this list with Visual Studio alone, with the exception of #2 maybe.
All the AI shit they're adding, plus the millions of windows you can pull up that are all hidden in different places. The only way this is remotely usable is with the search.
This happens every other day when working with Blazor. As an added bonus, it can never decide on spacing and will constantly change it.
Probably a symptom of using legacy code and modern code at the same time, but good god the settings for everything are in a million places.
For a few files, sure. Idk how I'd use that on the large corporate Java codebase that I usually work with though. Despite all its memory hogging and unnecessary features, IntelliJ also proves remarkably useful when trying to find anything in these mega projects. Features like ctrl + clicking on a method call to get to its definition (even when it is in a different project that I don't have checked out), the refactoring tools, the debugger, etc are absolutely necessary to get anything done.
Unless you need to work on a solution with more than a few projects, such as Unity games. Then the LSPs go haywire and eat 20+Gb of memory, while not actually working.
Which, ofc, is Microsoft's fault, since it's their analyzer that has had the bug for years now. Rider didn't have that problem, but it shits itself when you change branches. You can't win :(
Sublime Text + sometimes LSP is all you need. It might be difficult for people who don't know how to use a build system directly, but those people are underachievers anyways.
Depends, for Android app dev, once you gain experience in writing code, and use Kotlin which is way less verbose, it becomes easier. But in reality, the IDE's autocompletion, syntax error highlights and other niceties do save a lot of time.
Yes, and the worst part is that XCode is only available on OSX.
I once had to make an iOS app once and didn't have a Mac so I developed the entire thing in a VM. There was no video encoding, the FPS was in the low single digits, which made it very difficult to even type. So I ended up writing the code using VSCode through SSH through Wireguard connected to the VM on the host machine, which actually worked surprisingly well. But hey, the app did work in the end.
In the JetBrains IDEs (which, relatively speaking, I like), I have to use "Invalidate caches and restart" several times a day just to get past all the incorrect error highlighting.
Ah, is that the way to address that? I don't run into incorrect error highlighting often, and it's mostly great, but when it gets it wrong, it can be very stubborn about it.
None of those issues for my main IDE, though Rider on some occasions do get stuck marking some spelling errors after they are fixed.
It has stuttered a few times, but pretty rare. But it does have a bug where it think it is building a project, but isn't. And requires a restart to fix... Easy to trigger if you try building a project while it's loading the project...
Visual Stuido with Resharper is the one where things would randomly stop working though. Especially hotkeys would sometimes stop working until I restarted it. Slow and stutter too.
How is #6 not specific to IDEs? I've never had vim, np++, or any other dedicated editor freeze; and I've used them to edit multi-gigabyte log files before.
It's almost enough to make me feel nostalgic for the DOS version of Borland Turbo Pascal, which wasn't bright enough to do any of this stuff. (Well, it could freeze up, I suppose, but the only time I actually managed to do anything like that, it involved a null pointer dereference that would have triggered a segfault on any modern system.)
All of these emulated only a fraction of the power of IDEs, even after weeks of trying to get them configured properly.
Inb4 "you're doing it wrong". Nah mate, IDEs work out of the box and don't require opening a text file to change settings while going through reams of documentation.
I right click in a file and it shows me the most important contextual commands. No need to find the " leader key", scroll through all the 1 billion commands, I don't have to "download a LSP and DAP" then "configure treesitter" or whatever the fuck kind of apes are in the editor.
Those editors have steep learning curves and get you productive eventually. IDEs get you there much more quickly. Yeah yeah, they hide complexity and "people don't know what's actually going on anymore" but sometimes I just want to get going instead of fighting my editor first. Feel me?
I really never understood what benefits an IDE has over Notepad++, they take up SOOOO much drive space for me when all i want to do is make a mod to someone elses file..
Almost always garbage, in my experience. Except for merge conflict resolution. That's unbelievably nice. But git command lines have always been more reliable and less likely to end up with broken local branches.
Seriously though. The merge conflict resolution in three panes is super nice.
If you all you need a text editor... great. But an IDE gives you tons of tools, such as debugging, breakpoints, memory inspection, intergated terminals, some may even include visual gui editors. Thats why they are called "Development environments".
At least the number of times I have to use the Clean Java Language Workspace in VS Code has declined recently. I mean, I still have to, just not as often.
All of those are things that have happened to me (except an IDE that could not handle externally edited files). They are very rare occurrences, but still annoying when I have to get something done.