如何在全球范围内搜索Scaladoc中的方法?

And*_*ert 19 scala scaladoc

我是否有可能通过scala doc在全局范围内搜索类,特征或对象中的方法?示例:我有一个方法名称,我不知道它属于哪个类,所以我可以在一些scaladoc搜索中键入它,它将显示包含具有给定名称的方法的类.(PS:我会添加标签scaladoc,但显然我不配......)

par*_*tic 10

我不认为有一种通用的内置方法.因此,如果scaladoc在线,我会使用我的朋友Google.例如,要在scala API中搜索一个名为left的方法,我使用查询:

"def left" site:http://www.scala-lang.org/api/current/
Run Code Online (Sandbox Code Playgroud)

如果它在我的硬盘上我使用grep.


Aar*_*rup 10

colladoc

colladoc工具具有对scaladocs比标准scaladoc工具更有用的搜索界面.

您可以通过在搜索字符串前加"def"来限制搜索方法名称,如"def implicitly".如果单击搜索框旁边的放大镜,使用空搜索字符串,您将获得以下方便的示例查询列表:

  • any搜索名称,定义或注释中包含单词any的所有内容
  • any_搜索以any开头的所有内容
  • //_any搜索包含以any结尾的单词的所有注释
  • class AnyRef 搜索名为AnyRef的所有类
  • trait _ 搜索所有特征
  • object _ 搜索所有对象
  • class A_ || class B_ 搜索以A或B开头的所有类
  • class _ extends _ with _ 搜索扩展类并实现特征的所有类
  • var _: Int 搜索Int类型的所有值或变量,vars显示在val之前
  • def toString 搜索名称为toString的所有方法
  • def toString : String 搜索名称为toString的所有方法并返回String类型
  • def _(_) : Boolean 使用一个参数和returnType Boolean搜索所有方法
  • def _(Int, _) 使用参数搜索所有方法,第一个是Int类型
  • def _(_, *) 使用一个或多个参数搜索所有方法
  • def _(Iterable[_]):Int 搜索所有采用Iterable并返回Int的方法
  • (Iterable[_]) => Int 与上述同等,lambda语法也可用于搜索方法.
  • => (_, _) 搜索返回带有两个元素的元组的所有方法.
  • def _((_) => _) 搜索所有具有一个作为第一个参数的方法,该方法接受并返回任何值.

不幸的是,colladoc的搜索结果令人生畏.如果成员由于继承而存在于许多特征/类中(例如sum,集合API中的方法),则结果中列出了所有类.

scaladoc按字母顺序索引

scaladoc本身没有这样的搜索,但是有一个包含类/对象/特征成员的字母索引.只需单击左上角搜索栏下方的一个字母,您将看到一个列表,其中包含以该字母开头的类,对象,特征和成员(如果单击"#"链接,则为符号) ).然后,您可以使用浏览器的查找功能查找您感兴趣的成员.


Lui*_*hys 6

我使用搜索框左下角的字母索引.如果有适当的搜索功能会很好.

也将是很好,如果文档中的Windows帮助格式是可利用的,因为它们是针对Java,这是很多比HTML的javadoc更方便,让您在搜索方法几乎零延迟.