我想指定一个与整个项目不同的文件编译器选项。更具体地说,我需要进行一些调试,以确定宏在该特定文件中失败的原因。如果我全局更改选项,那么整个项目将被重新编译(并生成调试),我想避免这种情况。
我该如何用sbt做到这一点?
答案 0 :(得分:3)
不可能提供仅适用于编译单元的某些文件的特殊编译参数。
宏很难调试。现在可能的解决方案是:
println
中sbt clean compile
,您应该在控制台中看到您的打印件(它也适用于Idea)。 答案 1 :(得分:2)
使用SBT的增量编译功能,您可以采用以下解决方法:
touch <file with macro>.scala
,或仅在该文件中执行其他修改。现在只会重新编译一个感兴趣的单个文件(以及可能依赖它的文件),并且调试输出会少得多。
以上暗示您的代码已成功编译。如果它没有在首先成功编译时需要将其置于状态(例如,通过删除一些未通过您感兴趣的文件中的编译的代码),然后从上面转到步骤3