【发布时间】:2017-09-06 23:36:33
【问题描述】:
怀疑this 帖子的至少一部分可能是愚人节的玩笑,我开始在我的 Linux 笔记本电脑上安装 Dotty,并且很高兴和惊讶地发现它似乎完全正确 - 我能够得到REPL 中以德语给出的斐波那契函数运行良好。
现在我想在 IntelliJ IDE 中用德语用 Dotty/Scala 编写代码,但到目前为止还没有实现这一点,或者就此而言,Dotty 编译失败并出现 SBT 错误的英语语言“Hello World” ,见下文(对象的 IntelliJ 代码窗口中没有错误)。
通过 IntelliJ 新项目对话框打开一个新的 Dotty 项目会在我的 .ivy2 目录中放置一个新的 Dotty 实例,这与我在 REPL 中使用的不同。我找到了Felix Mulder 的 Dotty 插件,但我不确定如何使用源代码插件。项目建立后:
- 在我在 src > main 中创建的任何新 Scala 文件中都无法识别德语关键字。
- 在 build.sbt 中某些运算符和关键字无法识别
- 在 build.sbt 中,每个条目都会给出错误
Expression Def.Setting[SomeType] must conform to DslEntry in SBT file -
我收到此错误日志警告(两次):
Binary version (0.1.1-20170410-0bd7821-NIGHTLY) for dependencych.epfl.lamp#scala-library;0.1.1-20170410-0bd7821-NIGHTLY indefault#skala_2.11;0.1-SNAPSHOT differs from Scala binary version inproject (2.11).
我认为这可能是我的PATH 环境变量中的skala 和dotty 路径的结果。
搜索第 3 点中的错误消息导致我 here:我可以轻松切换到我知道足够好的非捆绑 SBT,但 HW 仍然无法编译,而是给出一个相当长的 SBT 错误。
不幸的是,我不太了解 build.sbt 中条目的语法,无法根据 murmelssonic 的建议更改它们。如果我只需要学习,那好吧,我相信我可以。
我相信我已经阅读了建议 build.sbt 错误可以忽略的帖子,因为它们实际上不会导致编译错误,但我无法确认这一点,因为我还不能编译任何东西。即使这是真的,我也想消除这些,最好不要掩盖合法的警告和错误。
我的问题可能更简单地表达为“如何为 IntelliJ 安装 Dotty 插件?”,但我不确定这是否是这一系列症状的完整解决方案。
系统信息:
- 操作系统 Kubuntu 16.10
- Java 1.8_121
- IntelliJ 2017.1
- Dotty v0.1.1-20170410
- 通过 IntellliJ 对话的 SBT 0.13.13 和 0.13.15(每次尝试)
- SBT 0.1-SNAPSHOT(来自 sbt 目录中命令行上的
sbt version,用于更改 IntelliJ 设置)。
【问题讨论】:
-
LOL 你真的认为使用
unveränderliche、opportunistisch和verfahrensweise代替val、var和def可能是一个真正的选择吗?特别是考虑到文章的日期:4 月 1 日。 -
不过这个github.com/propensive/skala 似乎是你所需要的。看起来它可能会起作用,但我怀疑有人会用他四月的笑话来创建 IntelliJ 插件。
-
真正引起我注意并让我相信其中一些是结束的那个是复合'implementationsdefiniertüberschreibenfaulunveränderliche' 但是,正如我所说,德国斐波那契函数,它使用了两个您给出的三个示例都可以正常工作-也许所有示例都可以。查看imgur.com/zFwoaw1
-
Propensive 的 Jon Pretty 的工具包(链接到我提到的原始 scala-lang.org 帖子)是我必须下载的,才能让德国 Dotty REPL 工作。就其本身而言,在 IntelliJ 中实现这一点似乎还不够。 Felix 可能是,但我不知道如何使用它。
-
Ich sehe.. 我自己已经尝试过那个 repo :) 但据我所知,IntelliJ 支持与编译器本身完全不同。你可以 fork 这个github.com/JetBrains/intellij-scala 做一些好事!
标签: scala intellij-idea sbt dotty