VS代码知道Scala和Java,但可以';我无法连接它们
我正在尝试将Scala与Java进行互操作,并成功创建了一个基于Maven的项目(存储库),该项目可以从命令行(VS代码知道Scala和Java,但可以';我无法连接它们,java,scala,maven,visual-studio-code,scala-metals,Java,Scala,Maven,Visual Studio Code,Scala Metals,我正在尝试将Scala与Java进行互操作,并成功创建了一个基于Maven的项目(存储库),该项目可以从命令行(mvn clean package)进行良好编译 然而,我一直遇到这样一个问题:我的IDE(VS代码)根本不理解互操作 问题 文件AccessScala.java正在尝试使用inmodule.scala访问中的变量 package me.parent.jModule; 导入me.parent.jModule.within模块; 公共类访问Scala{ 公共静态void main(字符串
mvn clean package
)进行良好编译
然而,我一直遇到这样一个问题:我的IDE(VS代码)根本不理解互操作
问题
文件AccessScala.java
正在尝试使用inmodule.scala访问中的变量
package me.parent.jModule;
导入me.parent.jModule.within模块;
公共类访问Scala{
公共静态void main(字符串[]args){
WithinModule in=新建WithinModule();
//--这就像一个静态变量,但Scala不允许这样
//System.out.println(WithinModule.string());
//--这是自动生成的getter
System.out.println(在.string()内);
//--此getter是手动添加的
System.out.println(在.getString()内);
}
}
VS代码引发了三个问题:
无法解析导入me.parent.jModule.WithinModule
:AccessScala[3,8]
WithinModule
无法解析为类型:AccessScala[7,9]
WithinModule
无法解析为类型:AccessScala[7,35]
项目设置
该项目有两个模块,但目前只有jModule
相关。它在单独的文件夹中包含Java和Scala代码sModule
包含一些我也想访问的Scala代码,但我当前的问题与Maven模块以及VS代码理解Scala Java连接无关
>父级
|>jModule
||>src/main
|| |>java/me/parent/jModule
|| | |>AccessScala.java
|| |>scala/me/parent/jModule
|| | |>within module.scala
||>build.sbt
||>project/build.properties
||>pom.xml
|>sModule
||>src/scala/me/parent/sModule
|| |>ExternalModule.scala
||>pom.xml
||>build.sbt
||>project/build.properties
|>build.sbt
|>项目/build.properties
|>pom.xml
VS代码
我使用的是,和Scala语法
对于Java和Scala,它都会检测错误等,因此它知道Scala就在那里
问题:
为什么VS代码会抱怨,我该怎么做才能让它工作?有没有办法,或者我只需要使用IntelliJ(我还有其他问题,请继续关注这些问题;)@tgkprog VSCode和Eclipse之间基本上没有相似之处。您是否尝试过scale ide scala-ide.org它是Eclipse的增强版。不确定VS代码是如何工作的,但您是否尝试导入maven项目?我们在eclipse中就是这样做的。主要的事情是:VSCode实际上不是一个IDE,它是一个源代码编辑器。为了让IDE向您提供这样的中介语建议,它必须编译代码并从类文件中提取建议。VSCode不编译任何东西。我从Eclipse开始,但它的scala插件对我来说根本不起作用,而且据我所知,专用插件不支持Java 11(我相信它已经有一段时间没有更新了?。@M.Prokhorov所以没有办法让它起作用?我认为它作为一个编辑器的意义在于,它可以通过插件进行扩展,比如[metals],这样它就可以编译、运行测试等。这就是我第一次得到这些错误消息的原因place@tgkprogVSCode和Eclipse之间基本上没有相似之处。您是否尝试过ScaleIDE scala-ide.org?它是Eclipse的增强版。不确定VS代码是如何工作的,但您是否尝试导入maven项目?我们在eclipse中就是这样做的。主要的事情是:VSCode实际上不是一个IDE,它是一个源代码编辑器。为了让IDE向您提供这样的中介语建议,它必须编译代码并从类文件中提取建议。VSCode不编译任何东西。我从Eclipse开始,但它的scala插件对我来说根本不起作用,而且据我所知,专用插件不支持Java 11(我相信它已经有一段时间没有更新了?。@M.Prokhorov所以没有办法让它起作用?我认为它作为一个编辑器的意义在于,它可以通过插件进行扩展,比如[metals],这样它就可以编译、运行测试等。这就是我首先得到这些错误消息的原因