rust-analyzer
vscode-rust
DISCONTINUED
Our great sponsors
rust-analyzer | vscode-rust | |
---|---|---|
132 | 8 | |
13,479 | 1,401 | |
2.4% | - | |
10.0 | 4.4 | |
1 day ago | over 1 year ago | |
Rust | TypeScript | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rust-analyzer
-
Cranelift code generation comes to Rust
go build 3.62s user 0.76s system 171% cpu 2.545 total
I was looking forward to parallel front-end[4], but I have not seen any improvement for these small changes.
-
A guide on Neovim's LSP client
For example, intelephense can show diagnostics in real time, there is no need to save the file to get new diagnostics. But rust-analyzer, the language server for rust, can only update diagnostics after saving the file.
-
Top 10 Rusty Repositories for you to start your Open Source Journey
6. Rust Analyzer
-
LSP could have been better
Agree this is not a problem. rust-analyzer also includes a boatload of custom extensions. Here's how "query type of selected expression" works, for example:
https://github.com/rust-lang/rust-analyzer/blob/master/docs/...
For example: https://github.com/rust-lang/rust-analyzer/blob/master/docs/...
> If you create an LSP, it will work best in VS Code.
Any editor can work just as well as (or even better than) VS Code.
-
Mastering Emacs: What's new in Emacs 29.1
I am not a Rust dev. It surely looks great.
However, from what I understand it seems to supply just a parser separate from the Rust compiler (https://github.com/rust-lang/rust-analyzer/tree/master/crate...) trying to keep up with Rust‘s development. So, in principle, it could have been just another treesitter parser plugin, too.
So, again, the LSP framework does not directly provide any magical benefit over a static parsing framework. All the semantic analysis capabilities stem from a good parser.
-
rust-analyzer significantly slowing down compilation
You may file issue at github rust-analyzer
-
Any new Opensource projects in (rust) looking for contributors. I want to start my journey as an OSS contributor.
I've contributed to rust-analyzer and nushell and had a great experience in both! Tons of open issues with a huge range of difficulties, and the maintainers are really helpful in providing hints to get started.
-
I want to contribute in a big project
For something more concrete you can try and ask around on their zulip or browse their issues.
-
Microsoft is rewriting core Windows libraries in Rust
More info here: https://rust-analyzer.github.io/ and here: https://rust-analyzer.github.io/manual.html#installation
vscode-rust
-
Pinecone: Rust – A hard decision pays off
> it crashes process IDs more often than Justin Bieber crashes Maseratis: https://github.com/rust-lang/vscode-rust/issues/890
So -- this guy used an extension (named Rust) with rust-analyzer, which was known to not work, and it didn't work(!), and the Rust extension author recommends he tries the extension made for rust-analyzer. That extension doesn't have the features he likes (it works for me and has loads of features, so I have no idea what this is about?), and so they close the issue?
Hardly a case for the ages. Guy uses unsupported config and things don't work?
> What clangd does is work.
Don't doubt it. I'm just saying -- I haven't had any problems with the rust-analyzer extension since it became the Rust default. But, yes, I had a few hiccups and crashes beforehand, no doubt. I just have to imagine it's both younger, and doing more/different things than clangd.
Well we could start with the fact that it crashes process IDs more often than Justin Bieber crashes Maseratis: https://github.com/rust-lang/vscode-rust/issues/890 (it’s always LLVM’s fault, I know). Or move right along to the insane configuration hacks that are mandatory if you want anything upmarket of VSCode (who doesn’t need a little practice with their Emacs Lisp), or the N^2 whatever that happens when you point it at bindgen output.
What clangd does is work.
-
RLS Deprecation | Rust Blog
I know. It's been argued for a long time. But at least if you follow the advice to install RA, it's fine. And if you don't, you won't be able to install RLS anyway, but instead get a helpful message pointing to RA.
-
rust-analyzer changelog #113
But the last commit to the Code extension was almost one year ago (an URL update), a pull request for a pretty annoying issue was not merged in more than a year, and the only activity on the issue tracker is people complaining about old issues and sometimes me asking them nicely to try rust-analyzer instead (but only when I'm pretty certain that their issue does not happen in RA).
If it was my decision, I'd include RLS, RA and also IntelliJ, since diversity and being able to use the tools you're familiar with (in the latter case) are more important than branding and ownership. This also seems to bite new learners now and then, while other Rust contributors feel it's not such a big problem.
-
rust-analyzer changelog #102
It's been asked before: https://github.com/rust-lang/vscode-rust/issues/927. Basically, rust-analyzer is not (yet?) a rust-lang.org project and it's not even going to be mentioned in the official docs until that happens.
-
rust-analyzer changelog #59
Yeah, see e.g. https://github.com/rust-lang/vscode-rust/issues/880.
-
rust-analyzer changelog #56
RA will be merged with the vscode-rust extension and aims to replace RLS (tracking issue on the vscode-rust repo).
What are some alternatives?
rust-analyzer - A Rust compiler front-end for IDEs [Moved to: https://github.com/rust-lang/rust-analyzer]
intellij-rust - Rust plugin for the IntelliJ Platform
rustfmt - Format Rust code
sublime-rust - The official Sublime Text 4 package for the Rust Programming Language
coc-rust-analyzer - rust-analyzer extension for coc.nvim
eglot - A client for Language Server Protocol servers
typescript-language-server - TypeScript & JavaScript Language Server
tree-sitter-rust - Rust grammar for tree-sitter
vim-lsp-settings - Auto configurations for Language Server for vim-lsp
Neovim-from-scratch - 📚 A Neovim config designed from scratch to be understandable
Clippy - A bunch of lints to catch common mistakes and improve your Rust code. Book: https://doc.rust-lang.org/clippy/
intellij-lsp-server - Exposes IntelliJ IDEA features through the Language Server Protocol.