RustRover – A standalone Rust IDE(blog.jetbrains.com) |
RustRover – A standalone Rust IDE(blog.jetbrains.com) |
On the other hand, they are notoriously slow to develop their IDEs. Features are super slow to be delivered, IDEs themselves are not really improved as well. They are focusing on things most don't care: Spaces, new UI project, etc. Barely any performance improvements, customisation is hard, Ruby, Scala and other plugins are lacking as well. Scala showing red squiggly lines where its not supposed to (on their compiler), Ruby lacking ergonomics in refactoring department (refactoring too large scope and etc.) or tooling support.
I still pay Jetbrains and while 2015 they were above everything else – its no longer the case. I grew up with them as developer, I hope they can up their game.
I found that IntelliJ IDEs for me are almost at the perfection level. I don't really need any new changes, except for simple incremental ones like supporting new languages.
I've been using IntelliJ since 2003, and it's amazing how little my main workflows have changed since then.
For example this https://youtrack.jetbrains.com/issue/PY-39449/Deleting-param... has been broken for 4 years.
No point in buying Intellij Ultimate and installing language plugins. As is clear from this post, the language plugins will no longer see new features.
Now you need to purchase and start the IDE's for Rust, Go, C++, Python, etc. So if you are working in multiple language projects, you need $$$ purchase power. And then 64 GB RAM and several terabytes of hard disk space.
What a mess.
I would also argue that their IDEs are largely mature, feature-complete software. I'm quite happy they haven't succumbed to the modern trend of reorganize all the menus every 6 months.
From where did you get this idea -- basic use? It most certainly is not this to as great a degree as you might like to think. Source: JB employee.
Same, so they do it every 2 years instead.
But the upside is the Shift+Shift Menu of "Find anything in this Project or what the IDE can do for you"... I wish more software had this :)
Depends on the language.
I use mostly Scala and Rust and both have significant issues still with incorrect syntax highlighting, refactoring being limited and slowness with larger projects.
I have used clion with rust plugin and while it's better than nothing, it's generally been pretty spotty on all the features, completion, marking errors, refactoring. I'm looking forward to RustRover "pulling a GoLand" by bringing a proper IDE experience to rust.
It’s incredible to me how many people choose VS Code because of its aesthetics, so it is by all means the right thing to focus on.
No. VS code is popular because it's
1. Free and open source
2. Come with a lot of official extension [1]
3. Backed by MS which has the incentive to commondize code editors
It's quite similar to Chrome.
[1]: https://marketplace.visualstudio.com/publishers/Microsoft
Different product teams work on different plugins/IDEs. Though, it's apparent that the more popular languages (Python/Java/JS/.NET/Go) get more enhancements. Makes sense for Jetbrains though because those languages provide them more revenue with a larger user base.
> Spaces, new UI project
Jetbrains Spaces is Jetbrains branching out into SaaS. The new UI work has been going on since as long as I remember. They're always tweaking the UI, but that's the norm in the industry.
Slow means stable. I don't understand how people rate software on this. Lot's of updates to a product means to me that the product is faulty.
However they already told in plain text that the Rust plugin will be stopped at this point of time, so this is another quite expensive (for me) tool to buy if you'd like to develop home projects or learn at home
After a year I didn't extend the license, however.
You see, I am mostly retired and program just for fun. And CLion does not do enough because I also write TypeScript, PHP, shell scripts, and even C sometimes. CLion is good for C, but now, I don't know if RustRover will cover C.
Now I switched to helix. Thirty years ago I learnt Emacs and later jed. You could say I am the pinky finger guy. In my fifties I decided to try something completely different, a modal editor. It took more than a year to slowly learn tricks. If programming were my job I wouldn't do that. I would stick to vscode or just Visual Studio or to a JetBrains product, because I know them and can work efficiently. With helix I did not yet reach this efficiency. But being retired it is more about fun instead of efficiency. helix is just more fun than these corporate offerings. Last week I switched Caps Lock and Esc and even created tap keybindings for the modifier keys (right tap-iso = open bracket, right tap-meta = close bracket for example). I am still in the process to adapt to the new keybindings but it makes me smile.
One caveat: when in a browser text input field, I sometimes hit the i key before typing. Anyone know this? I realized, I have to shift the mental model that browser text input fields are alreay and permanently in insert mode.
This said, I have a fond spot for JetBrains even if I left them.
Disappointing that the open source plugin is a casualty, but this is probably a net positive for getting Rust into more hands that might need it. Writing Rust with and without IDE help is a night and day experience and having an official, goto, commercially supported product is great news.
Then they started "simpler" IDEs like PHPStorm, but that was fine because I could supplement my IntelliJ with plugins that would basically give me PHPStorm and the like. IntelliJ remained the go-to tool for the polyglot.
The problem were the bugs. 3-4 years sometimes to fix glaring bugs well reported. Some were unheard.
They also made a big spiel about their millisecond to rendering right about the time where I switched to a 4K screen that rendered the IDE completely dead on its knees. The irony! Turns out Java wasn't so good for IDE in macOS retina displays.
You'd code in windowed mode, fine, you stretched open the IDE to fill the screen and every key stroke would then take seconds to render!!
Then one day, C-Lion.
All the sudden, we need a brand new IDE because you know, C++ is that different. OK fine. I don't plan on writing C++. Still though, felt like a cash grab. Then AppCode, then a plethora of other IDE that just feel like cheap IntelliJ-light opportunity to make money.
So I moved to VSCode, grudgingly. Had enough of unanswered bugs, poor performance and focus on everything else but the product that got them there.
VSCode is kinda great. But it's a perfect example of how much Microsoft could strap rockets to pig and make it fly. It's fast. You couldn't write a editor that fast using that technology.
But still VScode irks me with the MSFT part and the future enshitifcation that is all but inevitable.
Recently I found Zed [1]. Zed is what I wanted VSCode to be, and I highly recommended. Sadly it's still lacking in many languages like PHP but I hope one day they get there, because it's absolutely stellar.
I believe it's written in Rust and supports Rust really well. Give it a go. I can't tell if they'll be around in 5 years but I sure damn hope so.
So I'm sorry but I fell out of love with Jetbrains. And you might thing this is a cheap shot but I gave them well over a thousand dollars.
[1] https://zed.dev
Looking forward to install RustRover. Hopefully it will bring even better integration with Rust than using CLion with Rust plug-in. And CLion with Rust plug-in is already very nice :)
https://blog.jetbrains.com/rust/2023/09/13/introducing-rustr...
A big part of why I use VSCode over JetBrains stuff is that I only have to deal with one application for all my things.
IntelliJ (and I assume Fleet?) is an all encompassing IDE where all the languages are plugins and can basically do everything the other products can do. The language specific IDEs are mostly skins for the plugins that just rearrange the UI to make it simpler to do specific things. Features may land first in the language/platform specific IDEs
I use Intellij Ultimate on a Python codebase and it can rather annoying on the odd occasion to get the project loaded up right compared to PyCharm. I get there in the end, but it can get fiddly.
But I'll point out the multi-IDE licence from JetBrains doesn't cost much more than an Ultimate licence, well worth going for of you're a routine polyglot programmer.
I think the question still stands though; what's the point of continuing to do this? I guess there must just be a subset of IDE-users who want things tailored extra to their specific language, even if they could get all the same functionality in a broader IDE like IntelliJ?
Genuinely curious what people like about something like PyCharm professional enough to pay for it, and whether they also use other IDEs or basically use it like IntelliJ (I assume you can get plenty of plugins for other things you need, like JavaScript/TypeScript).
The current clion + rust plugin combo allows me to step seamlessly from rust to cpp when doing ffi work. Hopefully this isn't lost in this new rust only tool.
Android just has some absolutely mindblowingly insane dependency graph and long-running steps in their build process, making even gradle sweat buckets. Without a significant re-architecture, Bazel wouldn’t fair any better, while a significant re-architecture could just as well help Gradle.
I tried it out 3 or 4 months ago, and I didn’t find it useful, nor familiar - kind of feels like a VSCode wannabe.
It was disappointing to see, as I am really tired of running multiple IDEs to work on mixed language projects.
- Auto-completion: However smart it is, it can't beat copilot.
- Type information: LSP can do that. (along with access to docs, error/warning highlighting, etc..)
- Debugger: There isn't a good one (or at least a good one that can be easily configured) for neovim yet. That's something I really miss for my toolbox.
- Cargo.toml: There is already a neovim plugin for that!
- VCS: I don't mind having a separate app for VC. But there isn't a good GUI app for Linux.
So far, it's only two points I am interested in; and only the debugger is the thing that I miss the most. I am wondering if better debugging tools (like LSP) somehow make it to Rust (along with maybe ownership/lifetime LSP like tools), then the market for an IDE becomes null?
That's news for me!
I write C# in Rider and I'm a copilot subscriber. However if I have to choose between Rider's auto-completion and Copilot, then the choice is painfully obvious.
Trouble is it depends what you program.
For example if you're a Go coder, then JetBrains GoLand has no competition.
Sure you might try VSCode with various extensions, but its not the same. GoLand enables you to be much more productive because of its first-class integration with Go.
The only reason some people use VSCode instead of GoLand for Go coding is because its free. There's no real reason to use it otherwise.
Err, what? There isn't even an argument here, "GoLand only supports Go so surely it must be better at it!".
> The only reason some people use VSCode instead of GoLand for Go coding is because its free. There's no real reason to use it otherwise.
The feature set listed on the site looks identical to that offered today by Rust-Analyzer or the existing IntelliJ-Rust plugin. Except in practice, IntelliJ-Rust is significantly weaker at understanding Rust code than Rust-Analyzer, and the strides that they have made in the last few years have largely come down to piggybacking off of it.
And that's ignoring that I find IntelliJ's text editor to be vastly less comfortable than Emacs+Evil. (Yes, I know about IdeaVim. I used it for years. It doesn't hold a candle.)
"The [1976 Rover] SD1 went head-to-head with rivals such as the Ford Granada, Citroën CX and Opel Senator as well as premium models like the W123 Mercedes-Benz and BMW 5 Series – all of which still form the main alternatives. Unfortunately, the big Rover soon gained a reputation for poor quality, reliability issues and a propensity for alarming amounts of rust..."
Quoting MRandl comment from the blog:
> Bit of a malicious move, essentially monetizing the contributions of all the people who worked on the plugin while the open source part slowly falls into deprecation and wontfixes. Not cool at all!
If that's what we're calling "malicious" these days, then I'm not exactly outraged. Rather, I find it exciting that Rust has grown to the point where a commercial entity wants to commit to a commercial product like this.
The reason it feels malicious is because jetbrains weren’t the only contributors, so they’re monetizing the work of people that were under the impression that the plugin was staying open source due to clion.
While waiting, I did some work in neovim.
The only thing going for it was that the debugger worked better than gdb (although I think it uses GDB unde the hood, but probably does something better than when I manually fiddle with gdb)
VS Code is sometimes a bit sluggish when handling input. Don't know why, and it only happens on my Macbook Air, (so might be thermal throttling?) but it happens rarely.
The nice thing about Code is that it's also easier to work across multiple languages without having to switch tools.
However, it does say it's still in preview, so it might get better?
Also, the UI looks radically different (and nicer) than what CLion looked like, so maybe they have a new UI framework that fixes some of the problems I had with CLion
Its subtle stuff, but changing the way project management is handled and tasks are run for example between CLion, Idea and PyCharm made me use the individual IDEs even if I could technically install the language plugins in just one
I have an all products license so it's not a blocker but I wish they would just make ultimate, truly ultimate.
I personally prefer the segmented nature since it lets me more easily customize per language functionality.
But anyway, I'm kind of lost with this news, because I'm using paid CLion for both C++ and Rust, and it seems now I will need to buy another IDE (because they will probably discontinue the free rust plugin).
Uuh… sure, buddy. Just make sure to never mention it to anyone outside internet, ok?
Now, I use Helix too — it's not perfect, lots of quality of life features are missing, but upgrading _one thing_ and having it work correctly is really a pleasure.
Do you by any chance have your hx config open source? Would love to browse it and maybe steal some of your config!
I added foot.ini but not evremap.toml and my xkb keymmap because these are not yet finished and very hacky.
https://gist.github.com/nalply/239c1e2ed13f5cb8ec4f3873fe64d...
CLion is the wrong product if you want to work in multiple languages. JetBrains has different IDEs for different purposes. You would want IntelliJ Ultimate and to use plugins for TypeScript, PHP, and even Rust with the plugin: https://plugins.jetbrains.com/plugin/22407-rust
If you only wanted to work in a single language you can get that specific IDE.
You can also buy the all products pack to get everything they offer, which is a great deal.
But there are many annoying issues open for a long time, two I'm struggling with currently :
- integrated terminal rendering performance is atrocious (and I hit this all the time since I use CLI a lot in my workflow)
- remote editing is a false promise feature - it's been there for a year but it's not even close to usable - this is a big deal for me as well and VS code is immeasurably better in this regard
I did a lot of C# recently and (ironically) VS code is terrible for this kind of language, Rider > Visual Studio.
I'm doing some Python now and PyCharm is just barely edging the VS Code. The remote experience is just not comparable and the terminal rendering performance is PITA.
If I was doing TS I wouldn't even bother with IntelliJ.
MSFT standardised LSPs with the language server protocol (well, literally).
So if anything, Jetbrains knows C# just as well as MSFT ever have!
re:VSCode: did you have any problems with ~~Atom~~ or Sublime Text? I love VSCode, but those tend to be the competitors that come up when talking about it. They lack the trillion dollar corportation attached to them so you may like them.
EDIT: oh it turns out Zed was made from the creators of Atom. I guess this is in good hands, in that case.
EDIT2: Darn, mac only for now. I guess I just have to wait. Also, I had no idea how much drama happened in the years since I last used Atom. I guess that recommendation is a no-go.
I think the only other piece of software I've seen this function in was some open source CAD software (can't remember from the top of my head), which had it mapped to the spacebar. Perhaps that should work for stuff like graphic or video editors, too.
the go plugin back then was very simple. The fact that you get most of the goland experience in idea ultmate today is because they are investing into the go ecosystem as an independent profit making endeavor in and of itself, not simply a small value add.
mixed language projects are the __norm__, not the exception. I get most often bitten by this when I have both C++ and Python IntelliJ projects configured in one tree, and it starts complaining about project name clashes.
reminds me of this https://www.youtube.com/watch?v=CLW7r4o2_Ow
[0] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=2940 [1] https://github.com/microsoft/vscode/issues/30874
They seem to be pretty bad at writing regression tests.
Indexing is far less than 5 mins (more 1 min for a big project) and is cached. It only happens the first time you load a project.
Maybe you are of bad faith on this one.
No, no bad faith, it's simply my number one pain point.
Imagine there are people who work on different repos/projects. Just quickly opening another up during a call? Maybe wait 5 minutes. This is decent hardware on an SSD. We're not talking about 10 year old 2m LOC mammoths, but also not "I expect it to start up in 3s like an editor and not an IDE".
If you haven't tried upgrading yet, I'd recommend it. They did a huge amount of work to address the issue, and from my experience, it's significantly better in 2023.2.
Oh ok interesting.
I suppose for a particularly complicated and big Python project (which, judging from your other comment, sounds like what you have), having something with the right PATH, etc, there are probably issues that arise in this regard that the rest of us don't have to worry about.
> But I'll point out the multi-IDE licence from JetBrains doesn't cost much more than an Ultimate licence, well worth going for of you're a routine polyglot programmer.
Good to know!
I only hit it rarely, usually after a fresh git clone, but then can spend half a day coaxing it into recognising that it is indeed a Python project.
A couple of times, I've had to resort to editing modules.xml in the .idea/ directory to insist that no, this module isn't Java, it's definitely Python.
Ahem, cough.
gopls is a PLS. Which Wikipedia gives us the definition of being:
programming language-specific features like code completion, syntax highlighting and marking of warnings and errors, as well as refactoring routines
PLS features are only the tip of the iceberg of the features that you get with GoLand which has a much richer integration with Go. Ranging from contextual menus, to configuration options to all sorts of other things.
I therefore retain my point that VSCode's only benefit over GoLand is its free.
Moving to Bazel would be good for aligning everything. As previously mentioned ASOP is built with Bazel, Bazel already has great support for building Android apps (and works much better with NDK: https://bazel.build/docs/android-ndk).
Gradle while I do like it I have come to realise is a drastically more complicated (and magic) build system than Bazel. I say this as someone that can do "anything" in Gradle by either developing custom plugins or dropping hacks into buildSrc.
I think part of the reason why Android builds don't get better is people don't want to even try deal with Gradle because of the comprehensibility cliff, i.e there is too much distance between "I can copy and paste and it works" and "I actually understood what I copied and pasted".
It's hard to say exactly what the key problems are with comprehension are but despite years of trying to help others understand Gradle I gave up and just handled all the build issues myself.
Bazel has been a lot easier on the uptake, it's not perfect and still takes a bunch of upfront "you need to understand the difference between rules, repository rules, macros etc" but there is less fundamental topics to cover and less magic if you aren't using external rulesets.
I am not that well versed in bazel, but doesn’t it sorta require a monorepo like structure?
But I think the reason VS Code has become so popular is that along with its editor centric UI it has Emacs like extensibility. Plugins are easily written in JavaScript and it originated the Language Server Protocol which makes it possible to write language integrations in the target language.
I've not used the newer version of IntelliJ since the redesign, but I always found it somewhat overwhelming, with all this stuff which prevented me from focussing on the code I was writing. The old version had pretty poor UI performance too, whereas the VS Code UI is fast enough that I rarely notice any UI slowdown.
Nevertheless IntelliJ is pretty indispensable for Java/Kotlin development. It's code sense features are excellent and there are a lot of projects out there that don't really build except through IntelliJ's automatic Gradle setup.
FWIW the only pop-up like things I see with VS Code are extension suggestions when I open a file with a new language extension and the monthly update change logs.
In VS Code, I usually see a file explorer, the files I have open, the Problems panel and a terminal panel. All of the other stuff is hidden behind sections that, when clicked, simply replace the file explorer. Far less visual clutter
Complicated GUIs (most GUIs targeting 'advanced' users, IME) likewise cause sensory/attentional overload for me, as well. If an escape from that kind of design is part of what drives people to VSCode, I totally get it! For me, keybindings and a command palette (or similar) are a much more natural way to include lots of cuntionality in an app without making it overwhelming to navigate visually.
A few other aspects: - dark mode by default - web tech UI, not terminal - decent looking widgets and decorations
I don't think these are the main selling points for vscode, but they do all of this better than their competitors.
Additionally, not ALL of the language-specific IDEs have matching plugins for IDEA (or may be missing some features compared to the standalone build); Rider, CLion, GoLand, and now RustRover simply do not have any way to be installed as a plug-in into IDEA.
Bingo. That's the most fiddly difference.
On the plugins though, I've successfully used the Go plugin in IDEA, but haven't compared it to Goland to know what I'm missing out on.
From the official JB blog:
"Like many of our IDEs, the functionality of RustRover can be installed as a plugin in IntelliJ IDEA Ultimate."
And yep, can run ancillary plugins to an extent, I don't think you can run, say, the Go plugin in PyCharm, for example, but JS/TS is out of the box IIRC.
Another thing I've noticed is that the IDEA Ultimate plugins tend to lag the features introduced in language specific IDEs for a bit.
JetBrains offer a multi-IDE licence that costs slightly more than Ultimate, worth looking into for polyglot development. But I went for Ultimate for our Python codebase because we're using a lot of FOSS JVM products, and super easy navigation around large JVM codebases to read code to understand some observed behaviour is very much worth it.
I just want to automatically share my transferable preferences between IDEs
I mean, how's rustfmt going?
if people care about such things, then they should not contribute to projects using MIT
Sure, the license allows it. This implies neither the presence of malice/sketchiness/betrayal of trust, nor the absence of it.
If we have an explicit agreement that I can mess with you (maybe we like pranks), then pointing you in the opposite direction would not be malicious, it would just be allowed according to the rules we've agreed to.
If you don't want companies taking your code closed source, there's plenty of license options to choose from.
Resource allocation absolutely changes when you metrics like IDE for language X generates M% more revenue than IDE for language Y.
There's nothing wrong with selling sets of plugins by the way. I don't really get why it must be different IDEs though.
This was exactly the line of questioning I had for my JB friend, some time ago.
Uhm, I've tried using Ultimate for Java and Rust. It wasn't pleasant at all. Different IDEs make total sense to me.
The official jetbrains announcement makes it more clear than this news article, though.
Jetbrains have been very adamant that a rust ide was a no-go cause it’s just CLion with the Rust plugin.
Sorry I can't provide specifics, it's been a hot minute since I've used a JB product but I did enjoy my time with them.
Honestly, I doubt most people even care it's kind-of open source (1).
> 1. Free
This is the reason most people use vscode.
That's it.
It's free, and it's pretty good.
It's not better. It's just free.
Nothing wrong with liking free stuff; free stuff is great; but don't confuse 'it didn't cost me anything' with 'it's good'.
There's a difference between value (ie. for what you paid, you got something that was worth significantly more than you paid, which in this case is zero) and quality (independent of cost, the thing is just plain old good).
vscode may be more valuable to people than jetbrains products, but it isn't a higher quality product.
There's a massive difference between those two things.
[1] - It's not open source 'technically'. https://ruky.me/2022/06/11/im-switching-form-vs-code-to-vs-c...
Average users might not care. But extension authors do. Yes, of course you can write extensions for close source projects, but it'd take longer to do "hacky" things since you'll need to read decompiled code / memory stack to understand its internals. I remember a very popular extension used a private field (and later broke because VSCode changed its internal implementation).
I personally constantly check Blender's source code here and there during the development for our internal Python tools, so I suppose people who write VSCode extension sometimes do.
> (what does "commondize code editors" even mean? Do you really think any vscode users care?).
It means VScode benefits MS indirectly and they can keep it free indefinitely while being a for-profit company.
I paid for Sublime Text 3 back in the day and still pay for Rider. I prefer VS Code to Sublime Text 3 as it's more extensible for the kinds of environments I work in, and has some decent built-in amenities like version control and debuggers.
It's not better than Rider objectively (and it's not better by design. MSFT doesn't want to cannabalize Visual Studio), but for smaller scripting and editing it runs circles around Rider. I prefer using it when I know I'm not going to be coding something complex nor for hours on end. A great complimentary tool to have on end.
But if you have a "good" alternative as this lightweight c#/c++ editor, let me know. Someone recommended Zed but that is Mac only.
And VS Code is not only similar to Chrome, it is Chrome pretending to be an IDE, and that always leaves a nagging feeling of inefficiency in the back of my mind. The JetBrains IDEs, being Java-based (although they hide it really really well, installing their own OpenJDK-based runtime automatically), are also resource intensive, but still better than Electron...
VS Code is nice in that it strikes a good balance between a Text Editor and full blown IDE. Far from replacing the latter, but I can and have worked on medium sized projects exclusively in VS Code.
But I have personally heard people more than one person completely dismiss JetBrain's IDEs because they didn't like how they looked.
I was under my own (pretty pedestrian) assumption that the secret sauce of JB IDES is/was the MPS system in which they are/were able to create libraries for source code analysis and manipulation on a language-by-language basis. I further assumed that this per-language library plus some language-specific GUI tooling, plus the language-independent GUI libraries and processing (local history, VCS integration, side-by-side textual (not semantic) diffing tools, and so on)
The response I got, which was quite a while ago (2019 or before) was that the individual language IDEs did not use MPS-generated libraries in perhaps the extensive way I've alluded to above, and this surprised and disillusioned me somewhat. I was hoping to get as much of an answer from my JB friend as, presumably, you were from me in this thread. :-)
Yes of course, there must be massive code reuse between projects, and yes, this was an entirely hand-waving set of assumptions, and no, I haven't researched the composition of any given JB IDE to find out the proportions of language-independent vs language-specific code volume.
I'm surprised someone at JB hasn't given a talk on this sort of thing over the years.