Java 在VSCode中使用Kotlin

Java 在VSCode中使用Kotlin,java,kotlin,visual-studio-code,Java,Kotlin,Visual Studio Code,我试图让Kotlin在VSCode中工作。到目前为止,通过kotlin扩展,我已经设法让它部分工作。我可以使用任何特定于Kotlin的类或函数,但不能导入任何特定于java的类。(错误:未解析的引用) 当我将VSCode项目与Eclipse项目和IDEA项目进行比较时,我注意到这两个项目的项目文件夹中都有JRE(在IDEA案例中,JRE是一个外部库)。这肯定是我在VSCode中的问题,但我不知道如何将JRE添加到我的项目中 我将Gradle用于我的项目: buildscript { ex

我试图让Kotlin在VSCode中工作。到目前为止,通过kotlin扩展,我已经设法让它部分工作。我可以使用任何特定于Kotlin的类或函数,但不能导入任何特定于java的类。(
错误:未解析的引用

当我将VSCode项目与Eclipse项目和IDEA项目进行比较时,我注意到这两个项目的项目文件夹中都有JRE(在IDEA案例中,JRE是一个
外部库
)。这肯定是我在VSCode中的问题,但我不知道如何将JRE添加到我的项目中

我将Gradle用于我的项目:

buildscript {
    ext.kotlin_version = '1.2.71'
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
apply plugin: 'kotlin'

kotlin {
    experimental {
        coroutines 'enable'
    }
}
repositories {
    mavenCentral()
}
dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    compile "org.jetbrains.kotlinx:kotlinx-coroutines-core:0.21"
}
正如您所见,我有Kotlin JVM插件,但除此之外,我不知道如何将JRE添加到gradle。谁能帮帮我吗

编辑:我尝试将kotlin协程添加到项目中,结果发现即使这个外部库也无法工作(我在导入kotlinx.coroutines.Experiative.*和
async
函数中都得到了未解决的引用错误)。这让我相信gradle不知道实际的项目,也不会导入任何必需的依赖项


创建项目时,我使用了
gradle init
命令,修改了
build.gradle
文件,然后在项目的根目录下创建了一个
main.kt
文件(文件中没有实际的代码,只有主函数、导入语句和对
async
的调用)

我已经找到了答案。所以,我要做的就是添加gradle应用程序插件并用它运行我的代码

build.gradle

buildscript {

  ext.kotlin_version = '1.2.71'

  repositories {
    mavenCentral()
  }
  dependencies {
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
  }
}

apply plugin: 'kotlin'
apply plugin: 'application'

mainClassName = 'MainKt'
defaultTasks 'run'

run{
  standardInput = System.in
}

repositories {
  mavenCentral()
}

dependencies {
  compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}

然后使用
gradlerun

运行代码,您不会将JRE添加到gradle。全局设置
JAVA\u HOME
变量,gradle应该能够找到它。如果您运行的是Linux,这应该由发行版在安装Java时完成,否则
/etc/profile
是定义变量的好地方。否则,从长远来看,我建议改变操作系统,并使用谷歌找到一个临时解决方案。我已经设置了变量,但它仍然不允许我导入javaclass@msrd0我编辑了这篇文章,添加了一些额外的信息。如果你够好的话,请再读一遍,抱歉,不知道。我只在Linux上使用过Idea和Atom。如果
gradleinit
起作用,这意味着gradle可以找到JRE(没有它gradle无法启动)。尝试
gradle assembly
查看您的问题是与gradle有关还是与gradle有关VSCode@msrd0命令起作用了。另外,当我添加协同程序时,VSCode语法检查会将对
async
的调用标记为错误,但在重新启动后,该语法错误消失了,我甚至得到了文档参考,因此不是来自VSCode的。我认为我用错误的命令运行代码,或者我需要一些特定的文件夹结构。如果您使用了Atom,您使用什么命令来构建项目?