VSCode需Kotlin(by JetBrains)插件+CodeLLDB调试,依赖Gradle/Maven构建;build.gradle.kts须声明kotlin("jvm")和jvmToolchain;调试应通过./gradlew run而非直接执行.kt文件。

VSCode 本身不原生支持 Kotlin,必须依赖插件和外部构建工具协同工作;单纯装个插件无法直接运行或调试 Kotlin 代码。
Kotlin 插件选哪个:CodeLLDB + Kotlin Language Server 还是只用 Kotlin by JetBrains?
官方推荐且目前最稳定的组合是 Kotlin(by JetBrains)插件 + CodeLLDB(用于调试),但要注意:Kotlin 插件仅提供语法高亮、基础补全和简单跳转,不包含编译器或构建能力。它依赖项目已有 Gradle/Maven 构建配置,不会自动帮你生成 build.gradle.kts 或下载 Kotlin 标准库。
- 不要装
Kotlin Language Server(已弃用,GitHub 仓库归档,VSCode 市场中显示“Deprecated”) -
CodeLLDB是必须的——Kotlin JVM 调试走的是 Java 调试协议(JDWP),但 VSCode 的Java Extension Pack对 Kotlin 源码级断点支持差,CodeLLDB配合gradle run或gradle test启动的 JVM 进程更可靠 - 如果项目含 Kotlin/JS 或 Kotlin/Native,VSCode 几乎无实用调试支持,建议切回 IntelliJ IDEA
Gradle 配置必须手动加什么:kotlin-dsl、jvmToolchain、sourceSets?
VSCode 不会帮你初始化 Kotlin 项目结构,build.gradle.kts 必须显式声明 Kotlin 插件和 JVM 目标版本,否则插件无法识别源码根目录,导致「无法解析引用」或「No SDK configured」提示。
- 至少要写这两段:
plugins { kotlin("jvm") version "1.9.24" } // 版本需与本地 Kotlin 编译器匹配kotlin { jvmToolchain(17) } // 不写则默认用 Gradle 自带 JDK,常导致运行时报错 UnsupportedClassVersionError- 若用 Kotlin DSL(即
build.gradle.kts),务必确认settings.gradle.kts中有enableFeaturePreview("VERSION_CATALOGS")(非必需但避免警告) -
sourceSets一般不用手动配——除非你把.kt文件放在src/main/kotlin以外的路径,否则默认约定即生效
调试时「Launch Program」配置为什么总失败:launch.json 怎么写才对?
VSCode 的 Kotlin 调试不是靠「直接执行 .kt 文件」,而是启动一个已构建好的 JAR 或调用 Gradle 任务。常见错误是照搬 Java 的 mainClass 配置,却忽略 Kotlin 编译后类名带 $ 符号(如 AppKt → AppKt$main$0)。
- 推荐方式:用 Gradle 任务触发调试,
launch.json中设"type": "shell",命令为./gradlew run --no-daemon - 如果坚持用
java类型,必须确保: -
"mainClass"填的是编译后的 JVM 类名(如com.example.AppKt),不是文件名App.kt -
"classPaths"包含build/libs/*.jar和build/classes/kotlin/main -
"modulePaths"留空(Kotlin JVM 项目不涉及 JPMS 模块系统)
最容易被忽略的是 Gradle 构建缓存和 Kotlin 插件版本对齐——改了 build.gradle.kts 后不执行 ./gradlew build,VSCode 插件就看不到新依赖或新源码路径;而 Kotlin 插件版本比 Gradle 声明的低,会导致语法检查误报。这些都不会报明确错误,只会表现为「跳转失效」「补全空白」或「红波浪线但实际能编译通过」。











