必须安装kotlinc编译器,vscode插件仅作桥接;单文件运行需code runner配置含-include-runtime的命令,且仅支持无包、无依赖、顶层main();gradle项目须声明kotlin("jvm")和jvmtoolchain(17),调试推荐./gradlew run启动jdwp jvm。

kotlinc 必须装,插件只是桥接,不装编译器连 println("Hello") 都跑不起来。
Code Runner 跑单个 .kt 文件:适合语法验证,但限制极多
这是最快看到输出的方式,但只适用于无包声明、无依赖、顶层 fun main() 的文件。
- 确保系统 PATH 里有
kotlinc(macOS 上常用brew install kotlin;Windows 推荐choco install kotlin;手动安装需把bin/加入 PATH) - VSCode 设置中搜索
kotlin.compilerPath,填绝对路径(如/opt/homebrew/bin/kotlinc),不能用~或环境变量 - 在
settings.json中加这段配置,漏掉-include-runtime就会报NoClassDefFoundError: kotlin/jvm/internal/Intrinsics:"code-runner.executorMap": { "kotlin": "cd $dir && kotlinc -include-runtime -d out.jar $fileName && java -jar out.jar" } -
fun main()必须是顶层函数,不能写在 class 里;编译后生成的类名是FileNameKt,不是FileName - 含
package com.example或任何外部依赖(如kotlinx.coroutines)的文件,此方式直接失败——它不读build.gradle.kts
Gradle 项目必须配 kotlin("jvm") 和 jvmToolchain(17)
VSCode 不编译 Kotlin,所有构建、依赖解析、JVM 启动都由 Gradle 驱动。没 build.gradle.kts,插件连源码目录都识别不了。
- 新建项目别手写配置,终端执行:
gradle init --type kotlin-application -
build.gradle.kts至少包含这两段:plugins { kotlin("jvm") version "1.9.24" } kotlin { jvmToolchain(17) } -
jvmToolchain(17)不能省:不写就默认用 Gradle 自带 JDK,极易触发UnsupportedClassVersionError -
application { mainClass.set("com.example.AppKt") }—— 类名必须是AppKt(文件名 +Kt),不是App,否则报Could not find or load main class - 源码必须放在
src/main/kotlin/下;放错路径(比如丢在项目根目录),VSCode 插件完全无视
launch.json 调试总失败?别照搬 Java 配置
Kotlin 调试本质是 attach 到已启动的 JVM 进程,不是解释执行 .kt 文件。直接设 type: "java" 并填 mainClass 很容易断点不命中。
- 最稳的方式是让 Gradle 启动带 JDWP 参数的 JVM:
./gradlew run --no-daemon -Dorg.gradle.debug=true - 或在
launch.json中用type: "shell"启动任务:{ "type": "shell", "request": "launch", "name": "Run with Gradle", "command": "./gradlew run --no-daemon" } - 如果硬要用
type: "java",mainClass必须严格匹配编译后类名(如com.example.AppKt),且项目必须已成功构建出build/libs/*.jar - 调试前务必确认:VSCode 的
java.home和java.configuration.runtimes都指向 JDK 17+,二者不一致会导致UnsupportedClassVersionError或断点灰色不可用
为什么装了插件还是提示 “No SDK configured”
因为 Kotlin 插件(如 fwcd.kotlin)只提供语言服务,不自带 JDK 或编译器。它依赖 Java 扩展链路识别运行时环境。
- 必须在 VSCode 设置中显式填
java.home(如/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home),不能只靠系统JAVA_HOME - 还需在
settings.json中补全java.configuration.runtimes,否则新建.kt文件连语法高亮都没有:"java.configuration.runtimes": [ { "name": "JavaSE-17", "path": "/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home" } ] -
kotlin.compilerPath要单独设为kotlinc可执行文件路径,否则插件提示kotlinc not found - 重启 VSCode —— 插件加载发生在启动时,改了设置不重启等于没改
java.home、jvmToolchain、mainClass、kotlin.compilerPath 这四条路径各自独立生效,改一处不等于全通。











