如何创建实际在控制台中打开的 Kotlin 控制台应用程序 window

How to create Kotlin console application that would actually open in a console window

我正在尝试使用 IntelliJ Idea 创建一个 Kotlin 控制台应用程序。

出于某种原因,它没有 运行 作为控制台应用程序。

我在 Windows 10.[=16= 上使用 IntelliJ IDEA 2020.3.1(社区版) ]

我所做的如下 - 我从 “控制台应用程序” 模板创建了一个新的 Kotlin 项目。我选择 openjdk-15 作为 项目 JDK 它生成一个由简单的“Hello world”函数组成的项目:

fun main(args: Array<String>) {
    println("Hello World!")
}

当 运行 它时,它只是终止(如预期的那样)- 没有打开任何控制台 window 但是:

如果我添加一些需要用户交互的代码:

fun main(args: Array<String>) {
    val name = readLine()
    println("Hello $name!")
}

一旦尝试执行它,它就会构建但随后挂起,永远不会完成。显然它等待从未提交的用户输入。

这是可以理解的,但强调了问题 - 那么控制台在哪里??

如果我只想在文本模式下构建常规控制台应用程序 运行ning,有什么解决方案? (就像我可以使用 Visual Studio 轻松创建的那样。)

你 运行 它与 Gradle 所以你实际上没有得到一个交互式控制台(只是 Gradle 的文本输出)。

转到设置并在 Build, Execution, Deployment -> Build Tools -> Gradle 下将 Build and run using: 设置为 IntelliJ

当您 运行 您的程序 IntelliJ(而不是 Gradle)符合并 运行 时,您实际上可以看到一个交互式控制台 window(在 IntelliJ 中) .

如果您不想 build/ship 应用程序,您必须使用 Gradle 构建它(我建议 Shadow Plugin 从中制作一个 jar 文件)和 运行 控制台中的 .jar 文件 (java -jar myApp.jar)。