【问题标题】:Rubymine: Ctrl + Click not workingRubymine:Ctrl + 单击不起作用
【发布时间】:2015-01-04 06:35:07
【问题描述】:

最近我更新了我的 Rails 和 Ruby(1.9.3 到 2.1)版本,使用了更新版本的 RailsInstaller 之后,在RubyMine,当我使用ctrl + click从代码跳转到代码时,有时它不起作用。

案例1

我在initializers/resources_constants.rb 中包含了一些常量, 所以我可以像constants = RESOURCES_CONSTANT::SOME_CONSTANT 一样使用它们。

它曾经工作得很好。 ctrl + click的时候可以直接跳转到resources_constants.rb。但是现在,我无法切换到它。

代码本身仍然运行良好,我仍然可以使用该文件中定义的常量。

案例2

require 'nokogiri' 工作正常,我可以跳转。

案例3

video.get_hits。这是Video.rb 模型中定义的实例方法。我无法跳转到它,但代码仍然可以正常工作。

【问题讨论】:

    标签: ruby-on-rails rubymine


    【解决方案1】:

    这有点像 Jetbrains 的“核选项”,但每次发生此类事情时(通常在 ruby​​ 版本更新之后)它都对我有用。

    1. 完全关闭所有正在运行的 RubyMine 实例
    2. 在问题项目的根目录下,删除隐藏的.idea目录
    3. 像往常一样在 RubyMine 中重新打开您的项目

    【讨论】:

    • 还是不行。我发现它可以在文件中跳转。但不能在文件之间跳转。有什么想法吗?
    【解决方案2】:

    几个月前我在更新 Rubymine 后遇到了同样的问题。我联系了他们的支持并通过以下方式解决了问题:

    单击文件 --> 使缓存无效/重新启动
    它将使您在以前版本中的缓存构建无效并按照新版本对其进行索引。

    【讨论】:

    • 之后重启了RubyMine?
    【解决方案3】:

    您好,看到任何 ruby​​ 文件名 resources_constants.rb 我猜它有一个名为 ResourcesConstants 的类,所以该类中定义的任何内容都是 SOME_CONSTANT = 'some value'
    要访问该常量,我们需要使用命名空间 operator(::) like

    ResourcesConstants::SOME_CONSTANT
    

    现在您的ctrl+click 可能会起作用。 我建议您每次修改任何配置文件或常量文件时都重新启动服务器

    【讨论】:

    • 你注意到case3了吗?实例方法。
    • 在第 3 种情况下,变量 video 可能不会被直接赋值。你能告诉我这个变量是如何初始化的吗?如果赋值非常复杂,RubyMine 找不到引用。特别是如果涉及辅助方法
    猜你喜欢
    • 2014-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-12
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    相关资源
    最近更新 更多