Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Rust should provide a basic, but solid IDE experience #2
For many people—even whole organizations—IDEs are an essential part of the
The problem statement here says "solid, but basic" rather than "world-class" IDE support to set realistic expectations for what we can get done this year. Of course, the precise contours will need to be driven by implementation work, but we can enumerate some basic constraints for such an IDE here:
Note that while some of this functionality is available in existing IDE/plugin
Would you have any plan to write an official Visual Studio Code extension? There is one already but it doesn't support debugging. It does use racer to help with some stuff like goto line but the editor itself already has that.
I should add, some companies have written extensions before. RedHat wrote an extension that supports reference and tons of other stuff.
JetBrains.com is certainly a partner that you should intensify the cooperation with because they put some effort into creating a plugin already.
MSVC could also be interested but they will probably demand a .NET version of Rust -> # Rust
Those 3 are the main IDE manufacturers nowadays.
@patlecat - definitely. In fact, we've already been chatting with jetbrains (iirc, we met with someone from jetbrains at the last RustConf).
MSVC (do you mean Visual Studio?) doesn't need a .NET version of Rust. They have a large plugin ecosystem that we could provide a plugin for. If you mean having first-party support straight from Microsoft, I'm not sure where they would fit us into their stack (cloud? games?), but it is a possible in the future as Rust continues to grow.
I think the hope is that having high-quality plugins for all major editors and IDEs give developers the best set of choices. If vendors of IDEs want to add even better support, the RLS is built to let them leverage, and we'd be happy to work with them if they needed additional functionality.
Hello, I found this issue via https://blog.rust-lang.org/2017/09/18/impl-future-for-rust.html via /r/rust on Reddit.
In the discussion on Reddit, people were saying to comment on issues and to ask how one can help.
I've only learned a little bit about Rust but I am using it for a program I am writing.
I tried to find a good IDE for Rust on Linux or FreeBSD but found none.
I would like to help in any way possible how ever small. The amount of time I have is limited though as I both study and have a part-time job.
For Python I found PyCharm good and for C++ with Qt, Qt Creator is a decent IDE.
However I think that there is greater potential for what an IDE could do than what we are seeing.
Perhaps it is not feasible but if it was don't you think it'd be better to have an IDE that is written from scratch with Rust in mind rather than making plugins?
What should a good Rust IDE do beyond the obvious things like completion and showing function signatures?
Most IDEs seem focused on the act of writing code and debugging it, but could we have an IDE that helps us better in planning and exploring ideas? If so, how?
Sorry if this is adding noise rather than being helpful, it's just that I think we could do better.
FWIW I think the "basic but solid IDE" goal is already achieved thanks to Intellij-rust. I live in that environment daily and the IDE is not the bottleneck for coding Rust at this point (for me at least).
So while I think the goals of RLS and choice of several IDEs have merit, they seem like next steps ... this issue as currently phrased seems solved to me.
(Except: intellij-rust could really use debugging support. That seems beyond the realm of "basic" though).
@neuronsguy Actually the intellij-rust situation is the major bottleneck for me, and why I'm not spending as much time getting good at rust as I would like.
I come from a Java background, and the ability to hit
As my rust fluency grows, I'll be able to "guess" more frequently, but "go to definition" and "see available functions" are the must-have features I need from an IDE (way more than running a debugger) and the tooling just isn't there yet.
I bet on Jetbrains for the best solution. VSCode and VS will never bring anything decent in terms of productivity (it's like comparing PyCharm / RubyMine and the support in those 2).
Sure it will take time, but can't wait to see Rust having its own IDE in the Jetbrains suite (the plugin stage really sucks and Python has been like that for a while, it was a long time ago... but it did happen).
Plus I like the cross-platform thing support (at least JavaFX is useful for that sort of things, I became a pretty big user of .NET (Core) on Linux just because of that).
The real issue is probably niche market right now, but who knows?