PyCharm and IntelliJ Community don’t have commercial restrictions. I’m still pretty anti-RustRover given this and the whole bait-and-switch where they turned the open source Rust plugin into what is now a closed source, paid editor. JetBrains still had done nothing to ameliorate this.
Rust
Welcome to the Rust community! This is a place to discuss about the Rust programming language.
Wormhole
Credits
- The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)
You can still use the plugin
The one that is no longer developed, obviously
It wasn’t obvious because I’m not quite sure why someone would suggest using software that both needs regular updates and will never get any more updates because those updates along with good faith open source contributions have been moved behind a paywall.
I'm glad we could clarify it then
I thought I saw this weeks ago.
May 21, 2024
yep
Anyway, neovim+rust-analyzer+ra-multiplex is all I need.
From what I gather, this isn't opensource, which is a pity. JetBrains makes the best IDEs out there for me. Anytime I touch something else, I feel hampered. Everything else just seems to take too much setup no matter how much time I put into it (looking at you neovim).
Developing Rust in CLion has been a charm so far, but let's wait until v2 of RustRover before switching over...
I know exactly how you feel. I did eventually end up finding an open source solution that worked for me though. After trying a few things I ended up on the helix text editor + the Rust LSP.
It took me a while to get to the point where I could code as fast as I could in Jetbrains IDEs but I got there and am now even faster than I used to be.
It was hard but very worth it.
I've read about Helix and it seems less effort than vim or its evil twin (emacs). How long did it take for you to get productive?
To get to the point where I could feel like not an idiot maybe 3 hours of actual programming time.
To get to the point where I was a slow yet productive programmer it took maybe 12 hours of actual programming time.
To get faster than I was at Jetbrains IDEs that took like maybe ~24 hours of actual programming time.
I strongly recommend:
- remapping caps lock to escape.
- disabling the arrow keys in all modes.
After I did these two things, I got better faster. It’s frustrating but totally worth it. Now when I’m on my laptop I just use helix and qutebrowser under the sway desktop environment. It’s a 100% mouse free experience and it’s just faster and better in every way.
Thanks for the tips. I'll give Helix a shot. I've been trying to get rid of vim and now neovim for a while. Maybe helix will be the solution.
In what way is it less effort than vim? I've tried helix a little bit and it didn't seem that different.
I'm hoping it'll be less effort setting it up than vim/neovim. Both need a bunch of plugins to be worth using. I got some preconfigured neovim config (doomvim or something) and while it's better, a bunch of stuff just doesn't work.
For me it’s less effort because everything that I want just works out of the box. The totally of my configuration is under 10 lines. I don’t want to have to mess with nested config files each dozens to hundred of lines long most of which I will not understand just to code.
Also helix is different in that it uses the selection then action workflow. Vim is action then selection which is less nice for me.
In helix if I want to delete a function I would do: ESC -> space -> f -> d
Which means: Normal mode then lsp menu then next function then delete.
In vim I would have to delete then select what to delete which I don’t like.
@onlinepersona @deluxeparrot Last time I checked, jetbrains editors didn't support nix well. Has that changed?
To my knowledge there's still only nix-idea, but tbh I haven't found any good IDE or editor for nix. Syntax highlighting is easy, but advanced features like code suggestion, "GOTO definition", and so on have never worked for me 🤷 Does good nix support exist anywhere?
Same, and it looks like nix is not going to get a good support soon, because it's at the same time not widespread enough and has a complicated semantic. Well at least complicated enough for me as a dev that uses it but still struggles a lot to debug issues.
@onlinepersona https://github.com/oxalica/nil might worth a try. It’s implementing the language server protocol so it can be used with any editor/IDE that has support. I am sure intellij has a plugin for that.
I've been building out a neovim setup with the nixvim project, in the mean time been using vscodium with no complaints would recommend both options
@onlinepersona #nix works very nice as a systems package manager. I use it to pull in C libs or build my own, without polluting my base system. And it's much more lightweight than VM or even docker, especially flakes that I discovered recently.
Beware they started charging for the database tools even if you own an all-products license (the plugin was included in the EAP version).
IntelliJ still has it bundled iirc.
https://plugins.jetbrains.com/plugin/10925-database-tools-and-sql-for-webstorm--rustrover
I’m still bummed out that I can’t use the rust plugin in CLion anymore for free, not even for non commercial purposes.
just keep using old plugin version 241.25989.180
Nobody else here has mentioned this but they stripped out all the web plugin support and tooling with no way to install it, even for paying customers. So if you're working on some kind of web application (perhaps compiling Rust to webassembly, like me) RustRover won't support your use case.
How is it better than rust-analyzer?
I use it and it's okay but man, how long could it take them to separate search results in tests from not in tests.
Last time I think I found a similar issue for vscode or rust-analyzer, and the devs said it requires a lot of rework and will not be done for a while. Now I can't find that but maybe it is a task that is harder than it looks. It would've been a total killer feature for me, though
Ugh yeah that's infuriating on Github search too. Obviously if I'm searching for some identifier I don't want 10 pages of results in /tests
.
How hard can it be? Just weight anything with test
in the file path lower than everything else. Job done.
You two bring shame to the programming community.
Just ripgrep cargo expanded output for f**** sake.
What are you talking about?
What part are you struggling with?
The ripgrep (rg
) part, or the cargo expand
part?
I know what both of those are and how to use them. But they are entirely relevant to the thread. Did you comment in the wrong place?
Not sure how what I write is this confusing to you.
- Tests don't necessarily live in paths containing
test
. - Code in paths containing
test
is not necessarily all tests. cargo expand
gives you options for correctly and coherently expanding Rust code, and doesn't expand tests by default.rg
was half a joke since it's Rust's grep. You can just pipecargo expand [OPTIONS] [ITEM]
output tovim '+set ft=rust' -
orbat --filename t.rs
and search from there.
You're not smart. You're not special. Nobody is giving you a medal because you know a workaround to a developer not implementing a feature request after five years, especially when said feature IS ALREADY IMPLEMENTED in a different language in the same IDE.
So again, what does your response have to do with how an IDE works? Nothing. It has nothing to do with it, you're posting purely to jerk yourself off.
My post was a showcase of why there is no substitute for knowing your tools properly, and how when you know them properly, you will never have to wait for 5 minutes, let alone 5 years, for anything, because you never used or needed to use an IDE anyway.
This applies universally. No minimum smartness or specialness scores required.
This type of reductive horseshit has no place anywhere.
"I have a criticism of this piece of software because it does not have this functionality."
"WELL JUST USE A DIFFERENT TOOL!"
Yeah, no shit. This isn't about using a different tool now is it?
You reek of basement-ass teenager that's never actually had to use shit for a living. If you're somehow actually a grown adult I pity your coworkers, who are all likely sick of your garbage-tier attitude.
Ok cool but how does that help when I'm searching a non-Rust project via the GitHub web search interface? I don't know why I'd want to search cargo expand
output anyway. Using that just to avoid searching tests is a super ugly hack.
how does that help when I’m searching a non-Rust project via the GitHub web search interface
Fair.
But you are writing a comment under a topic regarding a Rust-flavored IDE, posted to a Rust community.
With neither the IDE nor Rust involved, your quoted problem statement is 100% off-topic.
I used to use IntelliJ Rust as my primary rust IDE, but when they switched to Rust Rover I stopped using it. Not sure why actually, possibly since I used Java with IntelliJ it was already my go to IDE, so using it for Rust was natural. I also guess, that I had nvim with rust-analyzer working, so that was available at my finger tips already. So, I might have switched over anyway... who knows.
Anyway, it is good to see more options available, and I hope it is getting so good that it is worth the money.
I don't mind paying for RustRover for commercial use as an individual but only bundling it with the all products pack sucks. I'm not paying $300 for RustRover.
I have PyCharm 2023.2 with the deprecated Rust plugin and it works great. I don't think that's restricted to Non-commercial use. Also VSCodium exists with the Rust Analyzer plugin so that's another alternative
I bought CLion's license for many years for personal use. I could easily work on c++ and python on the same project, and could still use it for Rust (same project or not). I decided to stop with the license when they deprecated Rust's plugin in favor of RustRover. I don't like jumping around between "different" IDEs.