如何找到最新scalac版本的所有标志?在谷歌上搜索了几个小时后,我只找到了过时的文档。(例如,他们甚至没有提到"-feature"标志)。
有没有任何方法可以从scalac或其他任何东西中获得带有描述的编译器标志列表?
编辑:Scala编译器选项文档已经发布。
我们中的大多数人都能通过scalac -help
、scalac -X
和scalac -Y
。
也别忘了scala -help
。
编辑:sbt
用户可以做通常的:
> set scalacOptions in Compile += "-X"
> compile
[snip]
[info] -Xcheck-null Warn upon selection of nullable reference.
[info] -Xcheckinit Wrap field accessors to throw an exception on uninitialized access.
[info] -Xdisable-assertions Generate no assertions or assumptions.
[info] -Xdivergence211 Turn on the 2.11 behavior of implicit divergence not terminating recursive implicit searches (SI-7291).
[info] -Xelide-below <n> Calls to @elidable methods are omitted if method priority is lower than argument
[info] -Xexperimental Enable experimental extensions.
[info] -Xfatal-warnings Fail the compilation if there are any warnings.
[snip]
至少手册页最近更新了:
https://issues.scala-lang.org/browse/SI-7824
我能找到的最接近的是编译器的相关源文件。不幸的是,选项分布在几个文件中。截至本文撰写之时,它是这样分解的:
- StandardScalaSettings(用于基本标志)
- ScalaSettings(用于高级标志)
这些当然适用于编译器的当前开发版本,因此,如果您想要scalac
的特定版本的选项,则需要使用"分支"下拉菜单来查看正确的版本标记。
由于Dotty(Scala 3),这些选项似乎处于不同的位置。
- ScalaSettings(几乎所有标志)
- 语言(
-language:
标志)
遗憾的是,当键入scalac -language:help
时,语言标志似乎不再像2.13.8那样显示,不知道为什么。
我相信这些都是多蒂的突出选择。