VSCode如何运行Kotlin代码_VSCode配置Kotlin环境

陌枫小哥_2981

陌枫小哥_2981

2026-06-12

1074人浏览

原创

vscode运行kotlin需按场景配置:单文件用code runner调kotlinc并加-include-runtime;gradle项目须声明kotlin("jvm")和jvmtoolchain(17),mainclass设为appkt;调试需通过./gradlew run启动带jdwp的jvm或配launch.json。

vscode如何运行kotlin代码_vscode配置kotlin环境

直接运行 Kotlin 代码在 VSCode 中不是“装个插件点一下就跑”,而是取决于你用什么方式:单文件脚本?Gradle 项目?还是想调试?不同场景对应完全不同的配置路径,错配就会报 NoClassDefFoundError、UnsupportedClassVersionError 或根本没反应。

Code Runner 怎么跑通单个 .kt 文件

这是最快看到 println 输出的方式,但只适用于无依赖、无包声明的顶层 fun main() 脚本。

  • 必须确保系统 PATH 里有 kotlinc(比如 brew install kotlin 后路径是 /opt/homebrew/bin/kotlinc)
  • VSCode 设置中搜索 kotlin.compilerPath,填入 kotlinc 的绝对路径——不能用 ~ 或 $JAVA_HOME
  • 在 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 项目为什么 ./gradlew run 才可靠

VSCode 本身不编译 Kotlin,所有构建、依赖解析、JVM 启动都由 Gradle 驱动。插件只是识别任务和跳转,不是编译器。

VSCode
VSCode

避免常见的 VSCode 错误——设置冲突、调试器配置和扩展冲突。

下载
  • 项目根目录必须有 build.gradle.kts,且至少包含:
    plugins {
      kotlin("jvm") version "1.9.24"
    }
    kotlin {
      jvmToolchain(17)
    }
    application {
      mainClass.set("com.example.AppKt")
    }
  • jvmToolchain(17) 不能省:不写就默认用 Gradle 自带 JDK,极易触发 UnsupportedClassVersionError
  • mainClass.set(...) 必须写成 AppKt(Kotlin 文件名 + Kt),不是 App,否则报 Could not find or load main class
  • 源码必须放在 src/main/kotlin 下;放错路径(比如丢在根目录)会导致插件完全无视
  • 运行命令统一走终端执行 ./gradlew run,或侧边栏「GRADLE」→「Tasks」→「application」→「run」

launch.json 调试总失败的根源在哪

Kotlin 调试不是解释执行 .kt 文件,而是 attach 到一个已启动的 JVM 进程。照搬 Java 配置大概率断点不命中。

  • 别用 type: "shell" 直接调 kotlinc 编译——生成的 class 文件无法被 debugger 正确映射源码
  • 推荐方式:用 Gradle 启动带 JDWP 参数的 JVM,在 launch.json 中设 "type": "java","mainClass": "com.example.AppKt",并确保 java.home 和 java.configuration.runtimes 指向同一 JDK 17+ 实例
  • 更稳妥的做法是 shell 启动:
    "type": "shell",
    "request": "launch",
    "command": "./gradlew run --no-daemon",
    "console": "integratedTerminal"
  • 如果用了 Kotlin/JS 或 Kotlin/Native,VSCode 几乎无实用调试支持,建议切回 IntelliJ IDEA

为什么装了插件还提示 No SDK configured

因为 Kotlin 插件(如 fwcd.kotlin)不自带 JDK,也不自动复用系统环境变量。它依赖 Java 扩展包显式识别运行时。

  • 必须在 VSCode 设置中显式填 java.home,指向 JDK 17+ 根目录(例如 /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home)
  • 还需手动配置 java.configuration.runtimes,内容与 java.home 一致,否则新建 .kt 文件连语法高亮都没有
  • 路径必须用绝对路径,不能用 ~ 或 $JAVA_HOME;改完设置必须重启 VSCode——插件加载发生在启动时
  • 右下角语言模式要手动选成 Kotlin,否则即使装了插件也不生效
  • 别装名字含 “IntelliJ” 或 “JetBrains” 的插件——它们在 VSCode 中无效,还会冲突
真正卡住人的地方从来不是“怎么配”,而是三处路径不一致:java.home、java.configuration.runtimes、kotlin.compilerPath 各自指向不同 JDK 或缺失,改一处不等于全通。调试时 mainClass 名字拼错、jvmToolchain 漏写、-include-runtime 忘加——这些细节漏一个,就停在黑屏或报错上。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

vscode

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Kotlin协程编程与Spring Boot集成实践
Kotlin协程编程与Spring Boot集成实践

本专题围绕 Kotlin 协程机制展开,深入讲解挂起函数、协程作用域、结构化并发与异常处理机制,并结合 Spring Boot 展示协程在后端开发中的实际应用。内容涵盖异步接口设计、数据库调用优化、线程资源管理以及性能调优策略,帮助开发者构建更加简洁高效的 Kotlin 后端服务架构。

2026.02.12

331

18

Java Kotlin协程与异步编程实战
Java Kotlin协程与异步编程实战

本专题围绕 Kotlin 协程与异步编程展开,讲解挂起函数、协程作用域、异步任务调度及并发控制方法。通过实际项目案例,帮助开发者提升后端服务性能,实现高效异步任务处理与稳定性保障。

2026.04.13

159

16

Kotlin Android开发教程大全
Kotlin Android开发教程大全

系统讲解 Google 官方推荐的 Android 开发首选语言 Kotlin 的核心知识与工程实践,涵盖 Kotlin 简洁语法(空安全/数据类/扩展函数/解构声明/作用域函数)与 Java 互操作、集合操作与函数式编程、协程(Coroutines)异步编程(suspend/launch/async/Flow)、Jetpack Compose 声明式 UI 开发(状态管理/组合函数/导航/动画)、MVVM / MVI 架构设计与 Vi

2026.06.03

228

19

vscode是什么_vscode怎么安装配置
vscode是什么_vscode怎么安装配置

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

2023.06.30

1215

18

vscode怎么运行代码
vscode怎么运行代码

vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.21

2512

3

vscode使用的框架介绍
vscode使用的框架介绍

VSCode是一款跨平台代码编辑器,它基于Electron框架和Monaco Editor构建。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1869

12

vscode一般用来写什么语言
vscode一般用来写什么语言

VSCode是一款功能强大的代码编辑器,支持多种编程语言和文件格式。它内置对 JavaScript、Python、Java、C++、TypeScript、HTML/CSS、Go 等语言的支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1707

8

vscode可以写什么语言
vscode可以写什么语言

vscode是一款强大的代码编辑器,支持多种编程语言的开发。通过安装扩展,可以为 JavaScript/TypeScript、Python、Java、C#、PHP、Go、Ruby、Rust、HTML/CSS 等语言提供智能代码补全、调试和格式化等功能。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

2567

12

vscode中文设置方法
vscode中文设置方法

方法一:在设置页面中,搜索“locale”,并选择“zh-cn”。方法二:按“Ctrl Shift P”快捷键,输入“Configure Display Language”,将语言修改为“zh-cn”。如果上述方法无效,可考虑安装中文插件。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1798

14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程