this post was submitted on 25 Oct 2024
116 points (100.0% liked)

Programming

19098 readers
138 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 2 years ago
MODERATORS
all 44 comments
sorted by: hot top controversial new old
[–] [email protected] 33 points 4 months ago (3 children)

This doesn’t paper over deprecating the Rust plugin and stealing contributions. I used to be a huge JetBrains fan and now I pull this out every time. Anything but.

[–] [email protected] 19 points 4 months ago* (last edited 4 months ago) (3 children)

It looks like they deprecated that one so they can sell the Rust plug-in for CLion. Granted RustRover is free for non-commercial use.

Stuff like this is why I don't mess with paid IDEs and editors.

[–] [email protected] 5 points 4 months ago

Tbh rust-analyzer is still pretty great. What bothers me more is that Kotlin is pretty much the only language without an official language server, because it doesn't align with their business interests...

[–] [email protected] 2 points 4 months ago* (last edited 4 months ago)

And now the IntelliJ plugin isn't included in the all products pack for some reason.

Edit: It looks like it actually is included, or is supposed to be.

[–] [email protected] 1 points 4 months ago

I don't mind paying for tools that help me do my job. For several years I even had a personal licence for "all products pack" thing. Their IDEs do a decent job.

There are better tools for specific things, but overall as an IDE, it's pretty good and makes you effective. And especially if you have to use Windows, it's integrating enough tools that you don't have to mess with the Windows crappy tooling that often.

That said, it's still a big fat slow IDE. For a while now I've been using neovim my modernized Linux toolkit and for the most part, I'm happier with it then I was with IntelliJ and Goland and the rest. Happier enough to not having a licence for JetBrains any more.

And recently I've looked into Zed. Zed looks pretty neat so far, but it's still under development. Once things stabilise there, I might commit to it and switch full time to Zed. It's got a few nice things that I miss from IntelliJ, but it's way, way more responsive.


Back on topic: I wanted to say I don't mind paying for IDEs, if they're good tools. But this is more of an ideological challenge and I'm always trying to keep myself from overreacting. So while I don't agree with you in general ("don't trust paid IDEs"), I might agree with you specifically ("don't fall for JetBrains' lure and Microsoft-like tactics").

[–] [email protected] 10 points 4 months ago

Oh my God. That's awful.

Thanks for posting about jet brains coopting and closing the rust plug-in. Yuck!

[–] [email protected] 7 points 4 months ago* (last edited 4 months ago) (3 children)

Don't need to go all the way there. I always heard that jetbrains make the best editors. Yet when my job forced everyone to use CLion I saw that it was just a lie. The editors aren't good, they are just expensive.

There are 2 easy examples:

  1. Remote developing sucks. Loading a remote cmake project takes ages. Yet if you remove the temp directory it's almost instantaneous. Except when you do it too often and clion refuses to sync the files, then you're fucked because there isn't a "sync" button, it only happens automatically.

  2. The commit log is awful. It doesn't by default show you the commit/branch you've checked out, it shows the chronologically most recent commit. There's no "go to checked out commit" button either, you have to write the hash in the search field. Which btw the search is trash. If you write 6 of the characters of the hash it shows "there are no results", yet when you write the 7th, suddenly your commit appears.

[–] [email protected] 4 points 4 months ago (1 children)

Your comment feels half-baked at best. You start to talk about "best editors" but you proceed to present your two best examples and neither has anything remotely related to editors.

CLion is undoubtedly the absolute best IDE for C++ projects, and it's multiplatform on top of it. It's not even a competition, specially if you're using CMake. Using Git integration as your best and single example to refute this is extremely puzzling by how silly it is.

[–] [email protected] 1 points 4 months ago

Editor/IDE, whatever. People claim both about jetbrains.

If you want a purely editor-thing:

Whatever vscode does with Ctrl+D (I don't know the name). Ctrl+D is probably the hotkey I use most in vscode (probably more than Ctrl+S), yet CLion doesn't have that. I've searched multiple times the whole settings for it.

Those two examples are just the ones that most recently occurred to me, it has a lot more issues. For example the lack of a staging area. You can't "git stage" in CLion.

And I don't think that the git integration is free from criticism. Git integration is one of the most important features of IDEs. It's absolutely valid to criticize it.

The autoformatter also doesn't work correctly when developing in remote. Which means that unless I want my PRs to have thousands of lines of whitespace changes, I can't use the auto formatter.

Now I don't know if this is a CMake issue or CLion. But at one point It was "#include"ing a struct from a header file I had deleted 1 hour previous to the build failing. The only way to fix that was to create the file again and delete it again.

These complaints might seem small. But put together they are hours of wasted time that you don't expect from the "best" of something.

[–] [email protected] 2 points 4 months ago

JetBrains git integration is a known mess, true.

[–] [email protected] 2 points 4 months ago

I'm a big fan of jetbrains, I think they make awesome product and they're great with the community. That being said, CLion sucks. If I code in C (which isn't often), I just use VsCode. It's much better. IntelliJ, Webstorm and PyCharm are great products though.

[–] [email protected] 26 points 4 months ago (3 children)

VSCode & VSCodium are also free for commercial use.

Why learn an IDE you won't use anywhere else?

[–] [email protected] 13 points 4 months ago* (last edited 4 months ago) (2 children)

I am kind of using intellij ideas for everything. They are just so much better.

I don't think I would want to work for an employer that is too cheap for an IDE license

[–] [email protected] 7 points 4 months ago* (last edited 4 months ago) (1 children)

It's not about cheapness, it's about consistency.

You wanna set up different dev environments and process for every single language you or someone from your team might use? Oh we need documentation and a license for IDEA when we're doing Java work, and PyCharm when we're doing Python work, and WebStorm when we're doing JavaScript work, or we just all use VSCode for everything.

I've worked on Java teams, Python Teams, JavaScript Teams, C# teams, and quite frankly, I've seen no major benefit to a dedicated IDE for that language vs just configuring VSCode plugins and CLI scripts.

[–] [email protected] 4 points 4 months ago (1 children)

We just have the ultimate license and can use all of the intellij IDEs, but you also can do everything with IDEA and some plugins. And I'm that car you still have the experience of a real IDE and not just a code editor.

[–] [email protected] 4 points 4 months ago* (last edited 4 months ago) (1 children)

Lol "real IDE". Name the actual day to day feature(s) that makes it "real". Just saying "you use a little bitch IDE, i use a real IDE" is not an argument.

[–] [email protected] 4 points 4 months ago (1 children)

Much better integrated refactoring support. Much better source code integration support. Much better integrated debugging support. Much better integrated assistive (but not ai) support.

Vscode can do many things IntelliJ can, but not all, and many of them require fiddling with plugins.

Usually, JB is also faster (if your dev machine can run it, but in my experience most devs have beefy machines).

[–] [email protected] 5 points 4 months ago (4 children)

They're really not. As much as I hate commercial licensing for any dev tools, if you want to talk about superior there's nothing quite as good as Visual Studio (not code) on Windows.

[–] [email protected] 3 points 4 months ago* (last edited 4 months ago) (1 children)

I adore Visual Studio for how it set the gold standard for code editing. VsCode is growing rapidly, but Visual Studio set an incredibly high bar.

For anyone reading along, Visual Studio Community Edition was free and fantastic last time I tried it, and it does 99% of anything any individual developer cares about.

The paid professional license shines for big messy enterprise stuff, but most people looking for an editor don't need to worry about that.

All that said, disclaimer for full honesty: my tool of choice is NeoVim - often with a splash of VSCodium.

[–] [email protected] 3 points 4 months ago

I don't actually use VS either mostly because I prefer to use a lighter editor and the commandline. But it does set a high bar for what an IDE should be.

[–] [email protected] 3 points 4 months ago

Sounds like a discussion about if someone likes apples or pears

[–] [email protected] 2 points 4 months ago

They’re really not. As much as I hate commercial licensing for any dev tools, if you want to talk about superior there’s nothing quite as good as Visual Studio (not code) on Windows.

It really depends on what kind of project you're working on. For .NET projects that might be true, but for other languages such as anything involving C++ then Visual Studio lags way behind CLion, which is multiplatform to boot.

[–] [email protected] 9 points 4 months ago

Why would you use a library or framework when you can code everything from scratch? It probably depends on how good the VSCode extension is vs how bad the IDE is.

For the languages I have tried (mostly GoLang plus a bit of Terraform/Terragrunt), VSCode plugins can do code highlighting, can highlight syntax and lint errors, can navigate to a methods implementation, the auto-complete seems to pick random words from the code base, and can find the callers for a method. It is good enough for every day use.

IDEs I have used (Eclipse for Java, PyCharm, InteliJ for Kotlin) offer more. They all have starter templates for common file types. The auto-complete is much more syntax aware and can sometimes guess what variables I intend to pass in as arguments. There is refactoring which can correctly find other usages of a variable and can make trivial code rewrites. There are generators for boilerplate methods. They all have a built in graphical debugger and a test runner.

[–] [email protected] 7 points 4 months ago (1 children)

There's also Zed. It's still pretty new and barebones but I like it a lot more than Code or anything else.

[–] [email protected] 5 points 4 months ago (1 children)

same here, i was using RustRover before that and it was slow on my laptop, i also had to create an account to use it. Zed is pretty much plug n play

[–] [email protected] 1 points 4 months ago

Zed is also lightspeed fast compared to either vscode or JetBrains' stuff.

[–] [email protected] 8 points 4 months ago (1 children)

This is great. Rider pretty much carried me through my first year at uni, considering that visual studio does not work on Linux. The neovim plugin for C# that I used kept crashing for me, glad to see non students also getting a chance to try out this software.

[–] [email protected] 3 points 4 months ago

I suspect this is because of the looming end of Windows 10. There's a large segment of Windows users, myself included, with Visual Studio being the only remaining tie to the Windows ecosystem. Extremely smart move by JetBrains, if true.

[–] [email protected] 3 points 4 months ago (2 children)

I am yet to meet someone who doesn't use VSCode for web development.

[–] [email protected] 14 points 4 months ago (1 children)

I know plenty of people that use vim/neovim for web development. I am also one of them

[–] [email protected] 2 points 4 months ago (1 children)

Woah, that's pretty cool! i installed an extension for vim keybindings inside VS Code recently, as I find them very powerful. Unfortunately, I rely on VSC's plugin ecosystem and thus can't fully switch over to neovim, but I've liked it so far for everything else I do on my system, like writing bash scripts.

[–] [email protected] 2 points 4 months ago* (last edited 4 months ago) (1 children)

If you're feeling bold, check out the NeoVim VSCode plugin. It's delightful.

It's essentially the VSCode remote plugin, but connecting to the NeoVim back-end.

It gives all the functionality of NeoVim along with all the functionality of VSCode.

Also, annecdotaly, it's substantially faster than the VSVim plugin.

[–] [email protected] 2 points 4 months ago (1 children)

I've had issues with that one because I'm using VS Codium flatpak. I've exposed system binaries and the extension found the nvim binary, yet it kept erroring out with the message that Nvim was disconnected. VSVim is better in that regard for my case, because it is a stand-alone extension.

[–] [email protected] 2 points 4 months ago* (last edited 4 months ago) (1 children)

I saw an error like that, too. (Also with the flatpak.)

I want to say I had an error in my init.vim that was the underlying cause, and the error message cleared up once I had that fixed. I also had to make sure both executables were on my path, and I had to correct where the NeoVim plugin was looking for Nvim, as well, in settings.json.

[–] [email protected] 2 points 4 months ago* (last edited 4 months ago) (1 children)

I didn't have any errors in the init.vim file because I didn't have any. I added an example init.lua file with contents from here and configured the extension to pull this config file, yet it still says Nvim disconnected each time I restart it. I just gave up and resorted to VSVim

[–] [email protected] 3 points 4 months ago (1 children)

That makes sense. Did you also set the path to Nvim in settings.json? I had to do so to clear at least one error.

I also sometimes get that "disconnected" error too, but the have it work fine. I think there's a race condition and it raises the error right after it starts, but then connects anyway, once everything else is set.

[–] [email protected] 2 points 4 months ago

Did you also set the path to Nvim in settings.json? I had to do so to clear at least one error.

Yup. I set it to /run/host/usr/bin/nvim after exposing system libraries and binaries to VS Codium through KDE's flatpak permission manager. Prior to that it kept throwing me ENOF errors (or something like that, I don't remember now).

Unfortunately, that "disconnected" error is either not caused by a race condition for me or I was really unlucky, because at some point I restarted the extension 30 or some times out of frustration and nothing changed 😅

[–] [email protected] 1 points 4 months ago (1 children)

You've never met an average ASP.NET developer?

[–] [email protected] 1 points 4 months ago (1 children)

You’ve never met an average ASP.NET developer?

OP is right. For web development with JavaScript frameworks (React, Angular, etc) with Node and even Typescript, you either use vscode or you haven't discovered vscode yet.

[–] [email protected] 2 points 4 months ago

Or meet old ideological dogs like me :P