当前位置:

首页 > 编程开发 > VSCode运行Kotlin程序教程 - 零基础配置运行环境

VSCode运行Kotlin程序教程 - 零基础配置运行环境

首先得弄明白一个根本事实:kotlinc 编译器是必须装的,VSCode 里的 Kotlin 插件仅仅是个桥接工具。没有编译器,连 println("Hello") 都跑不起来——别被“装个插件就能写”的说法误导。 很多新手装上插件后发现根本没法运行,问题就出在编译器上。下面把三种常见场景的配置要点

本文目录
    首先得弄明白一个根本事实:kotlinc 编译器是必须装的,VSCode 里的 Kotlin 插件仅仅是个桥接工具。没有编译器,连 println("Hello") 都跑不起来——别被“装个插件就能写”的说法误导。
    VSCode运行Kotlin程序教程 - 零基础配置运行环境

    很多新手装上插件后发现根本没法运行,问题就出在编译器上。下面把三种常见场景的配置要点拆开说清楚。

    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 中配置 Code Runner 的执行命令,关键参数是 -include-runtime,漏掉它就会遇到 NoClassDefFoundError: kotlin/jvm/internal/Intrinsics。正确配置如下:
      "code-runner.executorMap": {
        "kotlin": "cd $dir && kotlinc -include-runtime -d out.jar $fileName && ja va -jar out.jar"
      }
    • fun main() 必须写在顶层,不能放在 class 里。编译后生成的类名是 FileNameKt(文件名加 Kt),不是 FileName,记牢这一点。
    • 如果文件里写了 package com.example 或者使用任何外部库(比如 kotlinx.coroutines),这种方式直接报废——因为 Code Runner 根本不读取 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/ 目录下。如果丢在项目根目录或别的地方,插件完全无视。

    launch.json 调试总失败?别照搬 Ja va 配置

    Kotlin 调试的本质是 attach 到已经启动的 JVM 进程,而不是像解释脚本那样直接执行 .kt 文件。所以直接照搬 Ja va 的 launch.json(设置 type: "ja va" 和 mainClass)经常断点不命中,让人抓狂。

    • 最稳的方式:让 Gradle 启动带 JDWP 参数的 JVM。运行命令:./gradlew run --no-daemon -Dorg.gradle.debug=true。这样 VSCode 的调试器可以 attach 上去。
    • 或者在 launch.json 中用 type: "shell" 启动任务:
      {
        "type": "shell",
        "request": "launch",
        "name": "Run with Gradle",
        "command": "./gradlew run --no-daemon"
      }
    • 如果非要硬用 type: "ja va",那么 mainClass 必须严格匹配编译后的类名(比如 com.example.AppKt),并且项目必须先成功构建,产生 build/libs/*.jar。
    • 调试前务必检查 VSCode 的 ja va.home 和 ja va.configuration.runtimes 是否都指向 JDK 17+。两者不一致会导致 UnsupportedClassVersionError,或者断点变成灰色不可用。

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

    Kotlin 插件(比如 fwcd.kotlin)只提供语言服务——语法高亮、代码补全、跳转定义等——但它不自带 JDK 或编译器。它依赖 Ja va 扩展来发现运行时环境。所以提示 “No SDK configured” 并不是插件坏了,而是底层的 Ja va 扩展没有被正确配置。

    • 必须在 VSCode 设置里显式填写 ja va.home,例如 /Library/Ja va/Ja vaVirtualMachines/jdk-17.jdk/Contents/Home。只靠系统环境变量 JA VA_HOME 是不够的,插件不一定认。
    • 还需要在 settings.json 中补充 ja va.configuration.runtimes,否则新建 .kt 文件连语法高亮都没有:
      "ja va.configuration.runtimes": [
        {
          "name": "Ja vaSE-17",
          "path": "/Library/Ja va/Ja vaVirtualMachines/jdk-17.jdk/Contents/Home"
        }
      ]
    • kotlin.compilerPath 要单独设置为 kotlinc 可执行文件的绝对路径,否则插件会报 kotlinc not found。
    • 改完设置后必须重启 VSCode——插件的加载发生在启动时,改了不重启等于白改。

    真正卡住人的从来不是“怎么点运行”。ja va.home、jvmToolchain、mainClass、kotlin.compilerPath 这四条路径各自独立生效,改一处并不等于全部通了。把每一条都检查到位,环境也就顺了。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 零基础
    相关文章 更多
    零基础了解 免费cdn加速:快速入门说明
    零基础了解 免费cdn加速:快速入门说明

    CDN通过全球节点网络缓存静态资源,将用户请求导向最近节点以提升访问速度与稳定性。免费CDN服务适合个人开发者及小型网站,能有效加速并减轻源站压力。配置时需注册账号、添加域名并设置缓存规则,注意缓存策略与流量限制。启用后可通过测速工具与CDN控制台数据验证效果并优化性能。

    零基础了解 activity工作流:快速入门说明
    零基础了解 activity工作流:快速入门说明

    Activity工作流是基于Java的开源业务流程管理框架,通过可视化流程图分离业务逻辑与代码,提升透明度与可维护性。其核心包括流程定义、实例、任务及网关等概念,支持流程部署、执行与监控,常用于审批、订单处理等企业场景。

    零基础了解 resource hacker:快速入门说明
    零基础了解 resource hacker:快速入门说明

    ResourceHacker是一款免费Windows工具,用于查看、修改和提取可执行文件中的图标、对话框等资源。其界面以树状结构展示资源,支持用户浏览、提取及替换资源文件。操作时需注意资源格式兼容性,并遵守法律法规,仅用于学习研究或个人定制,避免修改关键系统文件。

    零基础了解 spidermonkey:快速入门说明
    零基础了解 spidermonkey:快速入门说明

    SpiderMonkey是Mozilla开发的JavaScript引擎,用于Firefox浏览器,能解析执行代码。它由C/C++编写且开源,可嵌入其他程序提供脚本支持。了解它有助于洞察JavaScript运行机制,并为参与Firefox或Rust开发、扩展C++应用功能提供基础。入门需克隆源码并配置编译环境,成功后通过交互式解释器运行代码。其核心嵌入能力允许

    零基础了解 fckeditor:快速入门说明
    零基础了解 fckeditor:快速入门说明

    FCKeditor是一款开源在线文本编辑器,提供所见即所得编辑功能,便于网页图文排版与样式调整。它界面友好、配置灵活,能降低内容维护门槛。集成时需引入文件并初始化,同时应注意服务器端安全过滤。该项目现已升级为CKEditor,建议新项目考虑使用新版或同类替代工具。

    零基础了解 sailfish系统:快速入门说明
    零基础了解 sailfish系统:快速入门说明

    Sailfish系统是源自诺基亚MeeGo的移动操作系统,由芬兰Jolla公司开发。它以手势操作为核心,界面流畅且注重隐私保护,兼容Linux应用并通过兼容层支持多数Android应用。用户可通过购买Jolla手机、刷机适配或虚拟机方式体验。该系统适合追求隐私、个性化及科技探索的用户,是小众市场的特色选择。

    零基础了解 ubuntu 11.10 下载:快速入门说明
    零基础了解 ubuntu 11.10 下载:快速入门说明

    Ubuntu11.10是2011年发布的Linux版本,首次默认采用Unity桌面。如今它已过支持周期,存在安全风险,不推荐日常使用。若需体验,可从可靠镜像站下载ISO文件,并通过虚拟机等隔离环境安装。对于实际用途,应选择当前受支持的LTS版本。

    零基础了解 meego系统下载:快速入门说明
    零基础了解 meego系统下载:快速入门说明

    MeeGo是诺基亚与英特尔2010年推出的开源操作系统,旨在融合Maemo与Moblin,横跨手机、平板等多设备。其界面简洁,以手势操作为特色,采用活动流与卡片式多任务。虽已停止维护,但可通过历史版本或模拟器体验。其技术遗产由SailfishOS延续,设计理念对后续系统产生影响,至今仍具研究价值。

    零基础了解 puppy linux:快速入门说明
    零基础了解 puppy linux:快速入门说明

    PuppyLinux是一款轻量快速的Linux发行版,适合老旧或低配置硬件。它可完全运行于内存中,响应迅捷,ISO文件仅数百兆。支持Live模式,无需安装,设置和文件可保存以便携带和持久使用。通过启动U盘即可体验,是旧电脑复活、便携办公及学习Linux的理想选择。

    零基础了解 delphi 2010:快速入门说明
    零基础了解 delphi 2010:快速入门说明

    Delphi2010是基于ObjectPascal的集成开发环境,以可视化快速开发为核心。它提供VCL组件库、Unicode支持及现代语言特性,便于构建Windows桌面应用。通过拖放组件和编写事件代码,开发者可快速创建交互程序。项目由项目文件、单元文件和窗体文件构成。官方文档和社区是主要学习资源,后续可深入多线程、数据库等高级主题。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。