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?
官方推荐且目前最稳定的组合是
(by JetBrains)插件 +
(用于调试),但要注意:
插件仅提供语法高亮、基础补全和简单跳转,不包含编译器或构建能力。它依赖项目已有 Gradle/Maven 构建配置,不会自动帮你生成
或下载 Kotlin 标准库。
不要装
(已弃用,GitHub 仓库归档,VSCode 市场中显示“Deprecated”)
是必须的——Kotlin JVM 调试走的是 Java 调试协议(JDWP),但 VSCode 的
对 Kotlin 源码级断点支持差,
配合
或
启动的 JVM 进程更可靠
如果项目含 Kotlin/JS 或 Kotlin/Native,VSCode 几乎无实用调试支持,建议切回 IntelliJ IDEA
Gradle 配置必须手动加什么:kotlin-dsl、jvmToolchain、sourceSets?
VSCode 不会帮你初始化 Kotlin 项目结构,
必须显式声明 Kotlin 插件和 JVM 目标版本,否则插件无法识别源码根目录,导致「无法解析引用」或「No SDK configured」提示。
VSCode 1.118
微软正式发布 Visual Studio Code 1.118 版本 。本次更新重点强化了 AI 开发体验与企业管理能力,其中最引人注目的是新增 Copilot CLI 远程控制功能,允许开发者通过手机或网页远程监控和接管 AI 会话 。同时,为了提高 AI 的运行性价比,新版本优化了令牌缓存策略以降低成本 。此外,1.118 版还引入了 Chronicle 本地历史追踪、TypeScript 7.0 支持以及更严格的企业级访问管控 。
下载
至少要写这两段:
若用 Kotlin DSL(即
),务必确认
中有
(非必需但避免警告)
一般不用手动配——除非你把
文件放在
以外的路径,否则默认约定即生效
调试时「Launch Program」配置为什么总失败:launch.json 怎么写才对?
VSCode 的 Kotlin 调试不是靠「直接执行 .kt 文件」,而是启动一个已构建好的 JAR 或调用 Gradle 任务。常见错误是照搬 Java 的
配置,却忽略 Kotlin 编译后类名带 $ 符号(如
→
)。
推荐方式:用 Gradle 任务触发调试,
中设
,命令为
如果坚持用
类型,必须确保:
填的是编译后的 JVM 类名(如
),不是文件名
包含
和
留空(Kotlin JVM 项目不涉及 JPMS 模块系统)
最容易被忽略的是 Gradle 构建缓存和 Kotlin 插件版本对齐——改了
后不执行
,VSCode 插件就看不到新依赖或新源码路径;而 Kotlin 插件版本比 Gradle 声明的低,会导致语法检查误报。这些都不会报明确错误,只会表现为「跳转失效」「补全空白」或「红波浪线但实际能编译通过」。
KotlinCodeLLDBKotlinbuild.gradle.ktsKotlin Language ServerCodeLLDBJava Extension PackCodeLLDBgradle rungradle testbuild.gradle.ktsplugins { kotlin("jvm") version "1.9.24" } // 版本需与本地 Kotlin 编译器匹配kotlin { jvmToolchain(17) } // 不写则默认用 Gradle 自带 JDK,常导致运行时报错 UnsupportedClassVersionErrorbuild.gradle.ktssettings.gradle.ktsenableFeaturePreview("VERSION_CATALOGS")sourceSets.ktsrc/main/kotlinmainClassAppKtAppKt$main$0launch.json"type": "shell"./gradlew run --no-daemonjava"mainClass"com.example.AppKtApp.kt"classPaths"build/libs/*.jarbuild/classes/kotlin/main"modulePaths"build.gradle.kts./gradlew build