【问题标题】:"Jump to definition" in RustRust 中的“跳转到定义”
【发布时间】:2014-06-20 11:28:00
【问题描述】:

在现代 IDE(Visual Studio、Xcode、JetBrain 的产品)中编码多年后,我已经习惯了宝贵的 Jump to definition 功能。当您还在学习新语言的核心功能时,它对于系统库和框架尤其宝贵。

有什么方法可以结合任何现代 IDE 或文本编辑器为 Rust 实现相同的功能?任何 vim,sublime 文本插件?

【问题讨论】:

    标签: rust


    【解决方案1】:

    目前还没有对 Rust 的 IDE 支持。至少存在 Racer 项目,它提供跳转到定义等功能。

    Racer 旨在集成到任何 IDE/文本编辑器中,并附带 emacs 集成。

    【讨论】:

    • 仅供参考,为此的 emacs 键绑定是 M-.(假设您安装了 Racer)。自从我 30 分钟前学会它以来,我一直在使用它......
    【解决方案2】:

    在 Vim 和 emacs 中,您可以使用 ctags 帮助您完成很多工作;语言定义在src/etc/ctags.rust 中,您可以使用make TAGS.vi(或make TAGS.emacs 用于emacs 格式)为Rust 发行版生成标签。请参阅mk/ctags.mk 了解更多信息。

    要在 Vim 中设置和使用它们,请参阅 :help tags

    【讨论】:

      【解决方案3】:

      有一个名为 rusty-tags 的项目为 Rust 生成 ctags。在本文发布时,它仍在积极维护中。

      【讨论】:

        【解决方案4】:

        RustDT IDE 现在支持使用Racer 工具的开放定义功能。

        【讨论】:

          【解决方案5】:

          Sublime 的 RustAutoComplete 使用单独安装的 Racer 具有有效的 Go to Definition。
          我正在使用它,它可以工作。

          话虽如此,在 2014 年,语言仍在不断变化,Racer 功能仍然有限。
          我目前有 "auto_complete": false 并且只使用手动完成(使用键盘快捷键)以避免一些 Racer 崩溃。

          【讨论】:

            【解决方案6】:

            Emacs 可以通过lsp-moderust-analyzer 集成。这将允许您使用 Rust 的类型系统浏览源代码。我在Rust with Emacs guide 的代码导航部分描述了详细设置。

            【讨论】:

              【解决方案7】:

              dumb-jump 适用于生锈。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2010-10-12
                • 1970-01-01
                • 2018-07-07
                • 2010-09-08
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多