0

0

如何配置 VSCode 以支持 Kotlin 开发?

betcha

betcha

发布时间:2025-09-18 11:58:01

|

538人浏览过

|

来源于php中文网

原创

答案:在VSCode中配置Kotlin开发环境需安装JDK、fwcd.kotlin插件和Gradle,创建项目并配置build.gradle.kts,编写代码后通过gradlew run运行,调试时需正确设置launch.json的mainClass和classPaths,并配置preLaunchTask确保编译同步。

如何配置 vscode 以支持 kotlin 开发?

在 VSCode 中配置 Kotlin 开发环境,核心在于整合 Kotlin 语言服务器(Kotlin Language Server, KLS)与 VSCode 插件,让编辑器能够理解、编译并运行 Kotlin 代码。这通常意味着你需要一个 Java 开发工具包(JDK),以及一个能将这些工具桥接起来的 VSCode 扩展。

解决方案

要让 VSCode 愉快地支持 Kotlin 开发,我的经验是遵循以下几个关键步骤。这不仅仅是安装几个软件那么简单,更像是在搭建一个小型生态系统,让各个组件协同工作。

首先,你需要确保你的系统上安装了 Java Development Kit (JDK)。Kotlin 是基于 JVM 的语言,所以 JDK 是其运行和编译的基础。我通常会选择最新的 LTS 版本,比如 OpenJDK 17 或 21。安装好后,记得配置

JAVA_HOME
环境变量,这是很多构建工具(比如 Gradle)能找到 JDK 的关键。

接着,打开你的 VSCode。在扩展市场里搜索并安装 Kotlin 插件。这里我个人比较推荐

fwcd.kotlin
这个插件,它集成了 Kotlin 语言服务器,提供了代码补全、语法高亮、错误检查、跳转定义等一系列核心功能。安装完插件后,它通常会自动下载并配置 Kotlin 语言服务器,但有时也需要你手动确认或等待一段时间。如果遇到问题,VSCode 的输出窗口(Output Panel)会给出一些线索,比如 KLS 启动失败的原因。

安装完插件,你还需要一个项目构建工具。虽然你可以直接用

kotlinc
命令行编译
.kt
文件,但在实际项目中,我们几乎总是使用 Gradle 或 Maven。对于 Kotlin 项目,我更倾向于 Gradle,尤其是它的 Kotlin DSL (build.gradle.kts) 写法,感觉更原生、更类型安全。你需要在项目根目录创建一个
build.gradle.kts
pom.xml
文件来定义项目结构和依赖。

一个简单的

build.gradle.kts
示例可能看起来像这样:

plugins {
    kotlin("jvm") version "1.9.22" // 使用你需要的Kotlin版本
    application
}

group = "com.example"
version = "1.0-SNAPSHOT"

repositories {
    mavenCentral()
}

dependencies {
    // 举个例子,如果需要测试
    testImplementation(kotlin("test"))
}

application {
    mainClass.set("com.example.MainKt") // 你的主类,通常是包含 main 函数的文件名 + Kt
}

tasks.test {
    useJUnitPlatform()
}

然后,在一个

src/main/kotlin/com/example/Main.kt
文件中编写你的 Kotlin 代码:

package com.example

fun main() {
    println("Hello from Kotlin in VSCode!")
}

保存这些文件后,VSCode 的 Kotlin 插件会识别项目结构。你可以在集成终端中运行

./gradlew run
(或
gradlew run
在 Windows 上)来执行你的程序。如果一切顺利,你会看到 "Hello from Kotlin in VSCode!" 的输出。

为什么选择 VSCode 而不是 IntelliJ IDEA 进行 Kotlin 开发?

这是一个我经常被问到的问题,尤其是在 Kotlin 社区中,IntelliJ IDEA 几乎是默认且“标准”的开发工具。坦白说,如果你的主要工作是纯粹的 Kotlin 后端或 Android 开发,IntelliJ IDEA 社区版甚至旗舰版无疑是更强大、更专业的选择,它对 Kotlin 的支持是原生且深度集成的。IDEA 的代码分析、重构工具、调试体验,在 Kotlin 领域几乎是无出其右的。

然而,我选择 VSCode 有几个非常实际的理由。首先是轻量级和启动速度。IDEA 作为一个全功能的 IDE,启动和运行都需要更多的系统资源,而 VSCode 简直是秒开。这对于我这种经常需要快速打开一个项目、改动几行代码、或者同时处理多个不同技术栈项目的人来说,效率提升是巨大的。

其次,多语言环境的统一性。我除了 Kotlin,还会写 Python、TypeScript、Go、Rust,甚至偶尔处理一些前端框架。VSCode 在这些语言之间切换几乎是无缝的,我不需要为每种语言打开一个不同的 IDE。所有的配置、快捷键、习惯都可以在一个工具里延续,这种一致性带来的心智负担减少,让我感觉更舒服。它就像一个万能的瑞士军刀,虽然每把刀可能都不是最锋利的,但它总能完成任务。

再者,个性化定制的自由度。VSCode 的插件生态非常活跃,你可以根据自己的需求高度定制编辑器,从主题到功能,几乎无所不能。虽然 IDEA 也有插件,但 VSCode 的这种“搭积木”式的自由度,让我能把编辑器打造成最符合我个人工作流的样子。

当然,VSCode 的 Kotlin 支持目前在某些高级特性上可能还不如 IDEA 那么完善,比如某些复杂的重构、更深度的代码意图分析等。但对于大多数日常的 Kotlin 开发任务,特别是当 Kotlin 只是你技术栈的一部分时,VSCode 已经足够强大且高效。它是一种取舍,一种在轻量、通用性和专业深度之间找到平衡的选择。

MediPro网上书店系统
MediPro网上书店系统

基于PHP+MYSQL开发,除了网上书店必备的商品管理、配送支付管理、订单管理、会员分组、会员管理、查询统计和多项商品促销功能,还具有完整的文章、图文、下载、单页、广告发布等网站内容管理功能。系统具有静态HTML生成、UTF-8多语言支持、可视化模版引擎等技术特点,支持多频道调用不同模版和任意设置频道首页,适合建立各种规模的网上书店。系统具有以下主要功能模块: 网站参数设置 - 对网站的一些参数进

下载

配置完成后,如何创建并运行第一个 Kotlin 项目?

配置好 VSCode 和 Kotlin 插件后,创建并运行你的第一个 Kotlin 项目是一个相当直接的过程。这里我假设你已经安装了 JDK 和 Gradle(或者 Maven),并且 VSCode 中的 Kotlin 插件也正常工作。

1. 创建项目目录: 首先,在你喜欢的位置创建一个新的文件夹,比如

my-kotlin-app

mkdir my-kotlin-app
cd my-kotlin-app

2. 初始化 Gradle 项目:

my-kotlin-app
文件夹中,打开 VSCode 的集成终端(Terminal -> New Terminal)。 如果你想从头开始,可以使用 Gradle 的初始化命令来创建一个骨架项目。

gradle init --type basic --dsl kotlin

这会生成一些基础文件,包括

build.gradle.kts
settings.gradle.kts
gradlew
脚本。如果你选择
application
类型,它还会为你生成一个
App.kt

3. 配置

build.gradle.kts
打开生成的
build.gradle.kts
文件。确保它包含了 Kotlin JVM 插件和
application
插件,并配置了
mainClass
。如果
gradle init
已经为你生成了
application
类型,那么这部分可能已经有了。 一个基础的
build.gradle.kts
应该包含类似以下内容:

plugins {
    kotlin("jvm") version "1.9.22" // 使用你安装的或最新稳定的Kotlin版本
    application // 启用应用程序插件,用于创建可执行的JAR
}

group = "com.example"
version = "1.0-SNAPSHOT"

repositories {
    mavenCentral() // 依赖库的来源
}

dependencies {
    // 如果需要,可以添加其他依赖,比如测试框架
    testImplementation(kotlin("test"))
}

application {
    mainClass.set("com.example.MainKt") // 你的主类,通常是包含 main 函数的文件名 + Kt
}

tasks.test {
    useJUnitPlatform()
}

注意

mainClass.set("com.example.MainKt")
这一行,它告诉 Gradle 你的应用程序入口点在哪里。
com.example
是你的包名,
MainKt
是你的
Main.kt
文件编译后生成的类名。

4. 编写 Kotlin 代码:

src/main/kotlin/com/example/
目录下创建一个
Main.kt
文件(如果
gradle init
没有生成的话)。

package com.example

fun main() {
    println("Hello, Kotlin from VSCode!")
    val name = "World"
    println("Hello, $name!")
}

5. 运行项目: 回到 VSCode 的集成终端,确保你在项目根目录 (

my-kotlin-app
)。 运行以下命令:

./gradlew run

(在 Windows 上可能是

gradlew run

Gradle 会下载必要的依赖,编译你的 Kotlin 代码,然后执行

main
函数。你会在终端看到输出:

> Task :run
Hello, Kotlin from VSCode!
Hello, World!

BUILD SUCCESSFUL in ...

这就是你的第一个 Kotlin 项目在 VSCode 中成功运行了!你也可以在 VSCode 的 "Run and Debug" 视图中配置

launch.json
来进行更复杂的运行和调试,但对于简单的项目,
gradlew run
已经足够方便。

调试 Kotlin 代码时,VSCode 有哪些值得注意的技巧和常见问题?

在 VSCode 中调试 Kotlin 代码,虽然不像在 IntelliJ IDEA 中那样“开箱即用”的丝滑,但通过一些配置和技巧,也能达到相当不错的体验。我个人在调试过程中遇到过一些坑,总结下来,有些地方确实值得注意。

1.

launch.json
的配置是核心: VSCode 的调试功能依赖于
launch.json
文件。你需要手动创建或让 VSCode 自动生成一个,并根据你的项目类型进行调整。对于 Kotlin JVM 项目,我们通常会使用
Java
调试器(因为 Kotlin 编译成 JVM 字节码)。

一个典型的

launch.json
配置可能看起来像这样:

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "java",
            "name": "Debug Kotlin Application",
            "request": "launch",
            "mainClass": "com.example.MainKt", // 你的主类,例如 com.example.MainKt
            "projectName": "my-kotlin-app", // 你的Gradle项目名称
            "cwd": "${workspaceFolder}",
            "args": "",
            "vmArgs": "",
            "console": "internalConsole", // 或者 "integratedTerminal"
            "env": {},
            "classPaths": [
                "${workspaceFolder}/build/classes/kotlin/main", // 编译后的Kotlin类路径
                "${workspaceFolder}/build/resources/main",
                "${workspaceFolder}/build/libs/*", // 如果有打包的jar
                "${workspaceFolder}/libs/*" // 如果有手动放入的jar
                // 更多依赖的classpath,通常由Gradle管理
            ],
            "preLaunchTask": "build" // 调试前先执行构建任务
        }
    ]
}

这里的

mainClass
projectName
classPaths
是最关键的。
classPaths
需要指向你的 Kotlin 编译输出目录以及所有运行时依赖的 JAR 包。这往往是初学者最容易出错的地方,如果
classPaths
不正确,调试器就找不到你的类。

2. 构建任务与

preLaunchTask
为了确保你调试的是最新代码,我强烈建议在
launch.json
中配置
preLaunchTask
。这个任务会在调试器启动前执行,通常是运行 Gradle 的
build
任务。 你需要在
.vscode/tasks.json
中定义一个
build
任务:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "./gradlew build", // 或者 gradlew build 在 Windows 上
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "reveal": "always"
            },
            "problemMatcher": []
        }
    ]
}

这样,每次你点击调试按钮时,VSCode 都会先执行

gradlew build
,确保你的
build/classes
目录是最新的。

3. 断点与变量检查: 设置断点和在调试过程中检查变量与大多数 IDE 类似。点击代码行号左侧即可设置断点。当程序执行到断点时,会暂停下来,你可以在“变量”面板查看当前作用域的变量值,使用“步过”、“步入”、“步出”等操作控制程序执行。

4. 常见问题与排查:

  • KLS 未启动或报错: 检查 VSCode 的“输出”面板,选择“Kotlin Language Server”通道,查看是否有错误信息。这可能是 JDK 路径问题、端口冲突,或者 KLS 下载失败。尝试重启 VSCode,或者手动删除 KLS 的缓存目录让它重新下载。
  • mainClass
    找不到:
    这通常是
    launch.json
    mainClass
    配置错误,或者
    build.gradle.kts
    中的
    application { mainClass.set(...) }
    配置与实际代码不符。Kotlin 文件
    MyFile.kt
    编译后对应的类名通常是
    MyFileKt
  • classPaths
    配置不全:
    调试器启动但无法找到依赖的类。你需要确保
    classPaths
    包含了所有运行时需要的 JAR 包。对于 Gradle 项目,这通常包括
    build/classes/kotlin/main
    build/resources/main
    以及 Gradle 缓存中所有依赖的 JAR 包。一个简单的做法是,先用
    gradlew build
    生成可执行 JAR,然后把 JAR 路径加入
    classPaths
  • 调试器无法连接: 检查你的防火墙设置,或者确保没有其他程序占用了调试器需要的端口。
  • Gradle Daemon 问题: 有时 Gradle Daemon 会卡住,导致构建缓慢或失败。尝试在终端运行
    gradlew --stop
    停止所有 Daemon,然后重试。

调试 Kotlin 在 VSCode 中确实需要一些耐心去配置,但一旦配置好,它能提供一个高效且灵活的开发环境。关键在于理解

launch.json
的工作原理,并确保你的构建任务能够正确地生成调试器所需的类文件。

相关专题

更多
python开发工具
python开发工具

php中文网为大家提供各种python开发工具,好的开发工具,可帮助开发者攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。php中文网还为大家带来python相关课程以及相关文章等内容,供大家免费下载使用。

772

2023.06.15

python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

663

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

765

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

679

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

1385

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

570

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

579

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

751

2023.08.11

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

0

2026.01.23

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
go语言零基础开发内容管理系统
go语言零基础开发内容管理系统

共34课时 | 2.6万人学习

第二十三期_前端开发
第二十三期_前端开发

共98课时 | 7.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号