在Scaladoc中,如何链接到同一类中的方法?

在Scaladoc中,如何链接到同一类中的方法?,scala,intellij-idea,scaladoc,intellij-scala,Scala,Intellij Idea,Scaladoc,Intellij Scala,在同一类中创建方法链接的正确方法是什么? 没有这样的例子 考虑一个类,例如: package controllers // import ... class AccountController extends Controller with Secured { def current = Authenticated() { request => // ... } /** * See [[current]] for an endpoint that...

在同一类中创建方法链接的正确方法是什么? 没有这样的例子

考虑一个类,例如:

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的“快速文档”弹出窗口中,所有这些都显示为红色:

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

它确实显示为蓝色:

[[controllers.AccountController#current]]

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

对于您的示例,正确的方法是:

[[controllers.AccountController#current()]]

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

我不确定它是何时修复的,但我使用的是IntelliJ IDEA 2020.3版,它对我有效:

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

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