by Rust Lang (open source) VS Code, Neovim, Emacs, Helix, Zed, любой LSP-клиент
Официальный LSP-сервер для Rust — де-факто стандарт разработки на Rust. Самый функциональный language server из существующих: полный type inference, макросы, proc-macros, inline hints. Возможности: - Автодополнение с полным пониманием типов и трейтов - Inlay hints: типы переменных, lifetimes, параметры функций - Expand macro: показывает что генерирует макрос - Goto definition / find references через macro-границы - Rename refactoring: переименование с обновлением всего проекта - Diagnostics из rustc и clippy в реальном времени - Cargo integration: tasks, features, workspaces - Structural search & replace
# rustup (рекомендуется — устанавливается вместе с Rust):
rustup component add rust-analyzer
# Скачать бинарь с GitHub Releases:
# https://github.com/rust-lang/rust-analyzer/releases
# VS Code:
# Extensions → "rust-analyzer" → Install
# Neovim (nvim-lspconfig):
require('lspconfig').rust_analyzer.setup{
settings = {
["rust-analyzer"] = {
checkOnSave = { command = "clippy" },
inlayHints = { enable = true },
}
}
}
# Helix — работает из коробки после установки
rust-analyzer — это языковой сервер, предоставляющий функционал IDE для написания программ на Rust. Его можно использовать с любым редактором, поддерживающим протокол языкового сервера (VS Code, Vim, Emacs, Zed и другие).
Возможности rust-analyzer включают переход к определению, поиск всех использований, рефакторинг и автодополнение кода. rust-analyzer также поддерживает встроенное форматирование (с помощью rustfmt) и встроенную диагностику (с помощью rustc и clippy).
Внутренняя структура rust-analyzer представляет собой набор библиотек для анализа кода на Rust. Подробнее см. раздел Архитектура в руководстве.
https://rust-analyzer.github.io/book/installation.html
Если вы хотите внести вклад в развитие rust-analyzer, ознакомьтесь с CONTRIBUTING.md, а если вы просто хотите узнать, как всё устроено «под капотом», посмотрите раздел Участие в разработке руководства.
Если вы хотите использовать языковой сервер rust-analyzer влюбимомом редакторе, изучите руководство. В нём также есть полезные советы и рекомендации, которые помогут вам работать с rust-analyzer более продуктивно.
Смотрите разделы безопасность и конфиденциальность в руководстве.
По вопросам использования и устранения неполадок, пожалуйста, используйте категорию «IDEs and Editors» на форуме Rust:
https://users.rust-lang.org/c/ide/14
По вопросам разработки и реализации вступайте в рабочую группу rust-analyzer в Zulip:
https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer
rust-analyzer распространяется в основном на условиях двойной лицензии: MIT и лицензии Apache (версия 2.0).
Подробности см. в файлах LICENSE-APACHE и LICENSE-MIT.