跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

Sublime如何配置Kotlin开发环境_Sublime运行Kotlin代码方法

Sublime Text 无法直接运行 Kotlin 代码,必须手动配置 JDK 11+、Kotlin CLI 编译器,并通过 Build System 调用 kotlinc 和 java 命令;main 函数须为顶层函数,路径须英文,命令中引号不可省略。
kotlinc
和
kotlin
命令必须在终端中能直接执行,否则 Sublime 的 Build System 一定静默失败或报
'kotlinc' is not recognized
——这不是配置问题,是环境没铺平。 验证
kotlinc
和
kotlin
是否真正可用 Sublime 启动时只读取一次环境变量,改完 PATH 不重启就永远找不到命令。 打开终端(macOS/Linux 用 Terminal,Windows 用 CMD, 不是 PowerShell ),运行:
kotlinc -version
和
kotlin -version
两者都必须输出类似
Kotlin Compiler 1.9.24
;只有一方有输出,说明你只有编译器或只有运行时 Android Studio 自带的 Kotlin 工具通常不加入 PATH,不能直接用;推荐从 Kotlin 官网下载 CLI zip 包 ,解压后把
bin/
加入系统 PATH Windows 用户加完 PATH 后, 必须重启 Sublime ;macOS/Linux 用户若用 zsh,确认路径已写入
~/.zshrc
并执行过
source ~/.zshrc
安装 LanguageKotlin 插件启用语法高亮 别装名字含 “JetBrains”、“SublimeKotlin” 或 “Deprecated” 的老插件——它们对 Kotlin 1.8+ 的
val
解构、
sealed interface
等新语法识别错误。 按
Ctrl+Shift+P
(Windows/Linux)或
Cmd+Shift+P
(macOS),输入
Package Control: Install Package
搜索并安装
LanguageKotlin
(作者是 JetBrains,对应
intellij-community
子模块) 新建文件保存为
hello.kt
,右下角状态栏应显示
Kotlin
;若没触发,点它 →
Open all with current extension as → Kotlin
.kts
文件默认不被识别,需单独设置:打开任意
build.gradle.kts
→ 点右下角语言名 →
Open all with current extension as → Kotlin
写一个真正能编译 + 运行的
Kotlin.sublime-build
网上流传的 JSON 常把编译和运行塞进同一个
cmd
数组,用
&&
连接——这在 Windows 上极易因空格、引号或 shell 类型失效。 菜单 →
Tools → Build System → New Build System…
粘贴以下内容(macOS/Linux):
{ "shell_cmd": "kotlinc \"$file\" -include-runtime -d \"${file_path}/${file_base_name}.jar\" && java -jar \"${file_path}/${file_base_name}.jar\"", "file_regex": "^(.*?):([0-9]+):([0-9]+):", "selector": "source.kotlin", "working_dir": "$file_path" }
Windows 用户请改用:
{ "cmd": ["kotlinc.bat", "$file", "-include-runtime", "-d", "${file_path}/${file_base_name}.jar"], "shell": true, "selector": "source.kotlin", "variants": [ { "name": "Run", "cmd": ["java", "-jar", "${file_path}/${file_base_name}.jar"] } ] }
-include-runtime
不可省略:不加会导致
NoClassDefFoundError: kotlin/jvm/internal/Intrinsics
$file_base_name
遇到空格会崩,所有路径参数务必用双引号包裹(如
"$file"
)
working_dir
设为
$file_path
很关键,否则
kotlinc
可能找不到依赖或输出错乱 为什么
fun main()
总不执行或报错 错误常不在 Build System,而在 Kotlin 代码本身是否满足 JVM 启动契约。
fun main()
必须是顶层函数(不能在
class
或
package
内部定义) 签名必须匹配:Kotlin 1.7+ 支持无参
fun main()
,但旧版本需显式写
fun main(args: Array)
如果用了
package com.example
,编译生成的主类名是
com.example.HelloKt
,但
-include-runtime + java -jar
模式下无需手动指定,只要
fun main()
在顶层即可 文件名无所谓(
Hello.kt
或
app.kt
都行),但类名永远是
xxxKt
,不是
xxx
确保项目路径不含中文或空格——尤其 Windows 下,
C:\Users\张三\code
这类路径大概率让
kotlinc
崩溃 最常被忽略的是:Sublime 启动后不会自动感知 PATH 变更,也不解析 Gradle 多平台 DSL,更不校验
fun main()
是否在正确源集里。它只是个调命令的壳子——命令能跑通,它就能跑;命令卡住,它就静默失败。

相关文章