【问题标题】:In Scaladoc, how to link to a method in the same class?在Scaladoc中,如何链接到同一个类中的方法?
【发布时间】:2016-04-02 04:10:52
【问题描述】:

在同一类中创建指向方法的链接的正确方法是什么? Scaladoc documentation 没有这方面的例子。

考虑一个类,例如:

package controllers

// import ...

class AccountController extends Controller with Secured {

  def current = Authenticated() { request =>
    // ...
  }

  /**
   * See [[current]] for an endpoint that...
   */
  def findAll = Authenticated() { request =>
     // ... 
  }

}

在 IntelliJ IDEA 的“快速文档”弹出窗口中,所有这些都显示为红色:

  • [[current]]
  • [[#current]]
  • [[AccountController.current]]
  • [[AccountController#current]]
  • [[controllers.AccountController.current]]

这确实显示为蓝色:

[[controllers.AccountController#current]]

所以我认为这是正确的,但是没有更简单但正确的方法吗?

【问题讨论】:

  • 虽然Scaladoc HTML渲染得到了美化,但恐怕该工具本身仍处于相当不令人满意的状态。 This issue 建议仍然只支持完全限定名称...

标签: scala intellij-idea scaladoc intellij-scala


【解决方案1】:

您的示例的正确方法是:

[[controllers.AccountController#current()]]

这里对于没有参数的函数来说,空括号是必需的,尽管你不应该在代码中添加这些。您还必须在任何地方使用完全限定名称,这意味着它应该包含包、类名、标签和方法名。

【讨论】:

    【解决方案2】:

    我不确定它何时修复,但我使用的是 IntelliJ IDEA 版本 2020.3,它适用于我:

    /**
     * See [[current]] for an endpoint that...
     */
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-01
      • 2013-05-31
      • 2015-08-11
      • 1970-01-01
      • 2020-05-08
      • 2018-05-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多