【问题标题】:Use Kotlin in VSCode在 VSCode 中使用 Kotlin
【发布时间】:2018-09-30 16:52:21
【问题描述】:

我试图让 Kotlin 在 VSCode 中工作。到目前为止,通过 kotlin 扩展,我已经设法让它部分工作。我可以使用任何 Kotlin 特定的类或函数,但我不能导入任何 Java 特定的类。 (error: unresolved reference)

当我将 VSCode 项目与 Eclipse 项目和 IDEA 项目进行比较时,我注意到两者的项目文件夹中都有 JRE(在 IDEA 案例中为 External Library)。很确定这是我在 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 协程添加到项目中,结果发现即使这个外部库也无法工作(我在 import kotlinx.coroutines.experimental.* 和 async 函数上都遇到了未解决的引用错误) .这让我相信 gradle 不知道实际的项目,也不会导入任何必需的依赖项。

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

【问题讨论】:

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

标签: java kotlin visual-studio-code


【解决方案1】:

我想通了。所以,我要做的就是添加 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"
}

然后用gradle run运行代码

【讨论】:

    猜你喜欢
    • 2021-12-23
    • 2021-10-15
    • 1970-01-01
    • 2019-06-07
    • 2020-06-18
    • 2020-08-25
    • 2021-04-20
    • 2022-01-06
    • 2020-07-03
    相关资源
    最近更新 更多