这段代码确实使用mill编译和运行,但是智能感知显示错误"对象pwd不是包foo的成员。os bloop"
//main.scala
package foo
object Exercise{
def main(args: Array[String]): Unit = {
println(os.pwd)
}
}
//build.sc
import mill._, scalalib._
object foo extends ScalaModule {
def scalaVersion = "2.13.1"
def ivyDeps = Agg(
ivy"com.lihaoyi::os-lib:0.7.8"
)
}
我有金属vscode扩展,它确实在项目库中识别os-lib。它确实显示了os的类型。
有时VS Code的Scala插件Metals突然停止工作,并且我在所有内容下都得到红线,并且智能感知停止工作,即使sbt compile
工作正常。
我发现了一个简单的修复,让金属在VS Code下再次恢复工作:
# Exit VS Code
cd your/project/dir
rm -rf .bloop
rm -rf .metals
# Sometimes a running bloop can cause problems so find and stop it
ps -ef | grep -i bloop
kill <bloop process id>
code .
似乎Bloop和Metals进入了不一致的状态,删除隐藏目录将强制两者重新启动。