Code Runner可一键运行单个.kt文件,但调试和项目管理必须用Gradle+JDK 17+;VSCode不编译Kotlin,全靠外部工具链驱动:Code Runner仅支持顶层fun main()的脚本式运行,无依赖管理和断点;Gradle项目需配置kotlin("jvm")与jvmToolchain(17),运行用./gradlew run,调试需在launch.json中正确设置type为java及匹配的mainClass。

直接运行单个 .kt 文件,用 Code Runner 最快;但想调试、管理依赖、跑真实项目,必须配 Gradle + JDK 17+。VSCode 本身不编译 Kotlin,所有“运行”动作都靠外部工具链驱动,插件只负责桥接。
Code Runner 跑单文件:适合脚本和快速验证
Code Runner 是唯一能让你右键点一下就看到 println 输出的方案,但它不处理依赖、不生成 class、不支持断点。
- 安装插件 Code Runner(作者 Jun Han),然后在 settings.json 里加这条配置:
"code-runner.executorMap": {
"kotlin": "cd $dir && kotlinc -include-runtime -d out.jar $fileName && java -jar out.jar"
}
- 必须确保系统 PATH 里有 kotlinc(比如通过 brew install kotlin 或手动解压 Kotlin CLI)
- 不要写 fun main() 在类里——得是顶层函数,编译后类名才是 FileNameKt,否则 -include-runtime 找不到入口
- 常见报错 error: unresolved reference: println,说明 kotlinc 没连上标准库,换用 kotlinc -script 方式(对应 .kts 文件)更稳
Gradle 项目运行:这才是生产级做法
VSCode 对 Kotlin 的支持完全依赖 Gradle 构建结果。没有build.gradle.kts,插件连源码根目录都识别不了,会一直提示 No SDK configured。
- 新建项目别手写 build.gradle.kts,直接终端运行:gradle init --type kotlin-application
- 确保里面包含这两段:
plugins {
kotlin("jvm") version "1.9.24"
}
kotlin { jvmToolchain(17) }
- jvmToolchain(17) 不能省:不写就默认用 Gradle 自带 JDK,极易触发 UnsupportedClassVersionError
- 运行命令统一走 ./gradlew run,不是双击文件或点 ▶️ 按钮——VSCode 的 Java 扩展识别到 run 任务后,侧边栏 “GRADLE TASKS” 下就会出现可点击项
launch.json 调试为什么总失败
VSCode 的 Kotlin 调试本质是 attach 到一个正在运行的 JVM 进程,不是解释执行。照搬 Java 配置大概率失败。 - 不要用type: "shell" 直接调 kotlinc —— 编译出的 class 没法被 debugger 正确映射源码
- 推荐方式:在 launch.json 里设 "type": "java","mainClass": "com.example.AppKt"(注意末尾 Kt,不是 App.kt)
- 如果项目用 application 插件,mainClass 必须和 build.gradle.kts 里 application.mainClass.set("...") 完全一致
- 多模块项目下,classPaths 得手动加 "build/classes/kotlin/main" 和 "build/libs/*.jar",否则断点灰色不可用
真正卡住人的地方,从来不是插件装没装,而是 build.gradle.kts 里少了一行 jvmToolchain,或者 mainClass 名字大小写/后缀写错——这些细节 VSCode 不报具体错误,只显示“无法启动”。


















