【发布时间】:2014-06-20 11:28:00
【问题描述】:
在现代 IDE(Visual Studio、Xcode、JetBrain 的产品)中编码多年后,我已经习惯了宝贵的 Jump to definition 功能。当您还在学习新语言的核心功能时,它对于系统库和框架尤其宝贵。
有什么方法可以结合任何现代 IDE 或文本编辑器为 Rust 实现相同的功能?任何 vim,sublime 文本插件?
【问题讨论】:
标签: rust
在现代 IDE(Visual Studio、Xcode、JetBrain 的产品)中编码多年后,我已经习惯了宝贵的 Jump to definition 功能。当您还在学习新语言的核心功能时,它对于系统库和框架尤其宝贵。
有什么方法可以结合任何现代 IDE 或文本编辑器为 Rust 实现相同的功能?任何 vim,sublime 文本插件?
【问题讨论】:
标签: rust
目前还没有对 Rust 的 IDE 支持。至少存在 Racer 项目,它提供跳转到定义等功能。
Racer 旨在集成到任何 IDE/文本编辑器中,并附带 emacs 集成。
【讨论】:
M-.(假设您安装了 Racer)。自从我 30 分钟前学会它以来,我一直在使用它......
在 Vim 和 emacs 中,您可以使用 ctags 帮助您完成很多工作;语言定义在src/etc/ctags.rust 中,您可以使用make TAGS.vi(或make TAGS.emacs 用于emacs 格式)为Rust 发行版生成标签。请参阅mk/ctags.mk 了解更多信息。
要在 Vim 中设置和使用它们,请参阅 :help tags。
【讨论】:
有一个名为 rusty-tags 的项目为 Rust 生成 ctags。在本文发布时,它仍在积极维护中。
【讨论】:
Sublime 的 RustAutoComplete 使用单独安装的 Racer 具有有效的 Go to Definition。
我正在使用它,它可以工作。
话虽如此,在 2014 年,语言仍在不断变化,Racer 功能仍然有限。
我目前有 "auto_complete": false 并且只使用手动完成(使用键盘快捷键)以避免一些 Racer 崩溃。
【讨论】:
Emacs 可以通过lsp-mode 与rust-analyzer 集成。这将允许您使用 Rust 的类型系统浏览源代码。我在Rust with Emacs guide 的代码导航部分描述了详细设置。
【讨论】:
dumb-jump 适用于生锈。
【讨论】: