this post was submitted on 27 Jun 2024
73 points (88.4% liked)

Rust

6041 readers
2 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

[email protected]

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 1 year ago
MODERATORS
 

Rust Rover is out of preview and is free for non-commercial use. The only caveat is:

It’s also important to note that if you’re using a non-commercial license, you cannot opt out of the collection of anonymous usage statistics.

top 41 comments
sorted by: hot top controversial new old
[–] [email protected] 35 points 5 months ago (1 children)

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.

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

You can still use the plugin

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

The one that is no longer developed, obviously

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

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.

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

I'm glad we could clarify it then

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

I thought I saw this weeks ago.

May 21, 2024

yep

Anyway, neovim+rust-analyzer+ra-multiplex is all I need.

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

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...

Anti Commercial-AI license

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

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.

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

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?

Anti Commercial-AI license

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

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:

  1. remapping caps lock to escape.
  2. 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.

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

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.

Anti Commercial-AI license

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

In what way is it less effort than vim? I've tried helix a little bit and it didn't seem that different.

[–] [email protected] 3 points 5 months ago* (last edited 5 months ago)

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.

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

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.

Anti Commercial-AI license

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

@onlinepersona @deluxeparrot Last time I checked, jetbrains editors didn't support nix well. Has that changed?

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

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?

Anti Commercial-AI license

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

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.

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

@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.

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

@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.

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

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

[–] [email protected] 11 points 5 months ago* (last edited 5 months ago)

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

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

I’m still bummed out that I can’t use the rust plugin in CLion anymore for free, not even for non commercial purposes.

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

just keep using old plugin version 241.25989.180

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

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.

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

How is it better than rust-analyzer?

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

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

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

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.

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

You two bring shame to the programming community.
Just ripgrep cargo expanded output for f**** sake.

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

What are you talking about?

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

What part are you struggling with?
The ripgrep (rg) part, or the cargo expand part?

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

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?

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

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 pipe cargo expand [OPTIONS] [ITEM] output to vim '+set ft=rust' - or bat --filename t.rs and search from there.
[–] [email protected] 2 points 4 months ago (1 children)

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.

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

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.

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

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.

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

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.

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

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.

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

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.

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

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

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

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.