debugging 在VSCode中调试Kotlin

3bygqnnd  于 2023-06-23  发布在  Vscode
关注(0)|答案(2)|浏览(205)

我是Kotlin的新手。在VSCode上下载了Kotlin和Java扩展之后,我发现自己在调试(在Kotlin中)方面很吃力。因此,我开始搜索并找到了https://github.com/thunderz99/kt-sample-app,它可以工作,但当我尝试将代码更改为我的代码时,一切都一团糟,没有工作。
如果有帮助的话,我尝试调试的代码是下一个:

class Solution {
    fun twoSum(nums: IntArray, target: Int): IntArray {
        for (i in 0..nums.size - 1)
            for (j in 0..nums.size - 1)
                if (nums[i] + nums[j] == target)
                    return arrayOf(i, j).toIntArray()
        return intArrayOf()
    }
    fun main() {
        val nums = intArrayOf(2, 7, 11, 15)
        val target = 9
        println (twoSum(nums, target))
    }
}

**编辑:**我终于调试了link before,但我不知道为什么它能工作。

配置如下:

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "kotlin",
            "request": "launch",
            "name": "Kotlin Launch",
            "projectRoot": "${workspaceFolder}",
            "mainClass": "kt/sample/app/AppKt",
            "preLaunchTask": "build"
        }
    ]
}

我尝试调试的类位于“src/main/Kotlin/kt/sample/app/App.kt”目录中,要使其工作,它必须是这样的:

class App {
    val greeting: String = ""
}

// code here

fun main() {
    App.greeting
    // more code here
}

我将感激任何帮助,让我知道如何配置必须,在哪里把文件,我想调试的项目,如果我可以调试一个完整的项目以外的单个文件

4dbbbstv

4dbbbstv1#

看起来你缺少了一些花括号。关键字 for 要求以下代码用花括号括起来或嵌套。如果关键字 if 之后执行多行代码,它也需要花括号。你的代码可能看起来像这样:

class Solution {
    fun twoSum(nums: IntArray, target: Int): IntArray {
        for (i in 0..nums.size - 1) {
            for (j in 0..nums.size - 1) {
                if (nums[i] + nums[j] == target)
                    return arrayOf(i, j).toIntArray()
            }
        }
        return intArrayOf()
    }
    fun main() {
        val nums = intArrayOf(2, 7, 11, 15)
        val target = 9
        println (twoSum(nums, target))
    }
}
jvidinwx

jvidinwx2#

您需要提供更多信息:

  • 你改了什么?
  • 你的pom.xml是什么样子的?
  • 你想用什么让它跑起来?
  • 什么是命令或终端输出?

我对Kotlin不是很有经验,但我认为,Kotlin要求你将main()定义为一个全局函数,而不是一个方法,否则它不会启动。
对我来说,似乎配置是正确的。为了工作,您需要适当的pom.xmltasks.jsonlaunch.json。如果重命名文件夹结构,则只需更改launch.json中的mainClass值和pom.xml中的sourceDirectory元素。

相关问题