vscode-rust
rust-analyzer
vscode-rust | rust-analyzer | |
---|---|---|
8 | 134 | |
1,401 | 14,055 | |
- | 1.2% | |
4.4 | 10.0 | |
almost 2 years ago | 3 days ago | |
TypeScript | Rust | |
GNU General Public License v3.0 or later | Apache License 2.0 |
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.
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.
-
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).
-
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).
rust-analyzer
-
LSP: The Good, the Bad, and the Ugly
I've responded on reddit before (https://www.reddit.com/r/rust/comments/1eqqwa7/comment/lhwwn...), but I'll restate and cover some other things here.
> I have a maybe wrong and bad opinion that LSP is actually at the wrong level. Right now every language needs to implement a from scratch implementation of their LSP server. These implementations are HUGE and take YEARS to develop. rust-analyzer is over 365,000 lines of code. And every language has their own massive, independent implementation.
rust-analyzer a big codebase, but it's also less problematic than the raw numbers would make you think. rust-analyzer has a bunch of advanced functionality (term search https://github.com/rust-lang/rust-analyzer/pull/16092 and refactors), assists (nearly 20% of rust-analyzer!) and tests.
> I think there should be a common Intellisense Database file format for providing LSP or LSP-like capabilities. Ok sure there will still be per-language work to be done to implement the IDB format.
I think you might be describing formats like (https://code.visualstudio.com/blogs/2019/02/19/lsif) and SCIP (https://github.com/sourcegraph/scip). I personally like SCIP a bit more LSIF because SCIP's design makes it substantially easier to incrementally update a large index. We use SCIP with Glean (https://glean.software/) at work; it's pretty nice.
> But you'd get like 95% of the implementation for free for any LLVM language. And generating a common IDB format should be a lot simpler than implementing a kajillion LSP protocols.
I wouldn't say 95%. SCIP/LSIF can do the job for navigation, but that's only a subset of what you want from an IDE. For example:
- Higher RAII, and the Seven Arcane Uses of Linear Types
-
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.
[1]: https://github.com/rust-lang/rust-analyzer
-
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
-
The rust-analyzer vscode extension is not working at all.
The rust-analyzer readme suggests you go here for support request. But even there, you'll need to provide more details to get useful help.
-
LSP could have been better
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.
-
Discussion Thread
So, apparently the reason why rust-analyzer, the LSP server for Rust does not have persistent caching is because it would make "optimizing initial passes less important".
- The AI Content Flippening
-
Introducing RustRover – A Standalone Rust IDE by JetBrains
All I want to know is: Will it have a build configuration pulldown?
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
syntax-highlighter - Syntax Highlighter extension for Visual Studio Code (VSCode). Based on Tree-sitter.
sublime-rust - The official Sublime Text 4 package for the Rust Programming Language
vscode-debug-visualizer - An extension for VS Code that visualizes data during debugging.
rustfmt - Format Rust code
RocksDB - A library that provides an embeddable, persistent key-value store for fast storage.
eglot - A client for Language Server Protocol servers
vscode-drawio - This unofficial extension integrates Draw.io (also known as diagrams.net) into VS Code.
coc-rust-analyzer - rust-analyzer extension for coc.nvim
vscode-cpptools - Official repository for the Microsoft C/C++ extension for VS Code.
typescript-language-server - TypeScript & JavaScript Language Server