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
Официальный LSP-сервер для Go от команды Go (Google). Единственный рекомендуемый language server для Go — глубокая …
Быстрая грамматика и спелл-чекер английского языка как LSP-сервер. Работает офлайн, без облачных запросов, встраивается прямо в …
Мощный LSP-сервер для Lua — обязателен для разработки Neovim-плагинов и конфигурации. Понимает Neovim API, love2d, OpenResty …
AI-редактор кода на базе VS Code с глубокой интеграцией языковых моделей. Одна из самых популярных IDE …
# 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.