sublime text 不能直接运行 kotlin,必须先确保终端中 kotlinc 和 java 命令可用;再安装 languagekotlin 插件实现语法高亮,并配置 kotlin.sublime-build(含 -include-runtime)和 kotlinscript.sublime-build 两个构建系统分别编译运行 .kt 和解释执行 .kts 文件。

Sublime Text 不能直接运行 Kotlin,所有“编译+运行”效果都依赖你本地终端里 kotlinc 和 java 命令是否真正可用——这是唯一前提,其余配置全是围绕它展开的。
确认 kotlinc 和 java 在终端能直接执行
这是最常被跳过、也最容易卡住的一步。Sublime 的 Build System 只是调用 shell 命令,它不会帮你装 JDK 或 Kotlin 编译器。
- 打开终端,运行
kotlinc -version,应输出类似Kotlin version 1.9.24;若报command not found,说明没装或没配进PATH - 同样运行
java -version,Kotlin 1.9+ 推荐用 JDK 17+,低于 JDK 11 可能编译失败 - 推荐安装方式:用 SDKMAN!(
sdk install kotlin+sdk install java 17.0.1-tem),自动管理 PATH;或手动解压 Kotlin CLI zip 包后,把kotlinc/bin加入系统环境变量 - Windows 用户注意:
kotlinc.bat和java.exe都必须能在任意路径下直接敲命令运行,否则 Sublime 调用会静默失败
安装 LanguageKotlin 插件启用语法高亮
没有这个插件,.kt 文件只是纯文本,连关键字都无颜色,写错 fun main() 都难发现。
- 通过 Package Control 安装插件:Ctrl+Shift+P → 输入
Package Control: Install Package→ 搜索并安装LanguageKotlin - 安装后,打开 .kt 文件,右下角状态栏应显示
Kotlin;若仍显示Plain Text,点击它手动选为Kotlin - 注意插件名是
LanguageKotlin,不是Kotlin或KotlinSupport—— 错装其他同名插件会导致 selector 不匹配,后续构建系统不触发 - 该插件只提供高亮和基础括号匹配,不带 LSP 补全或类型检查,别指望它有 IntelliJ 那种智能
配置 kotlin.sublime-build 实现编译+运行
这个 Build System 负责把 kotlinc 编译成 jar,再用 java -jar 运行,关键参数一个都不能少。
- Tools → Build System → New Build System,粘贴以下内容(注意
selector必须是source.kotlin,大小写敏感):
{
"cmd": ["kotlinc", "$file_name", "-include-runtime", "-d", "${file_base_name}.jar", "&&", "java", "-jar", "${file_base_name}.jar"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.kotlin",
"shell": true
}
-
-include-runtime是必须的:Kotlin 标准库不内置于 JVM,不加这参数,运行时会报NoClassDefFoundError: kotlin/jvm/internal/Intrinsics -
shell设为true才能支持&&连写两个命令;设为false时,Sublime 会把整个数组当单个命令传给系统,直接失败 - 文件路径不能含中文或空格,否则
$file_name展开后 shell 解析出错;建议项目放C:/kotlin-demo或~/kotlin这类纯英文路径 - main 函数必须是顶层函数,签名严格为
fun main() { ... }或fun main(args: Array<string>) { ... }</string>,Kotlin 1.9+ 不再接受fun main(argv: Array<string>)</string>这种旧写法
单独配置 kotlinscript.sublime-build 运行 .kts 脚本
如果你写的是 Kotlin Script(.kts),不要用上面那个 build,得换用 kotlin 命令直解释执行,且需额外处理脚本依赖。
- 新建另一个 Build System,命名为
kotlinscript.sublime-build:
{
"cmd": ["kotlin", "$file_name"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.kts",
"shell": true
}
-
selector必须是source.kts,对应 .kts 文件;LanguageKotlin 插件默认已支持该语法类型 - 确保你装的是完整 Kotlin CLI(不是仅
kotlinc),因为kotlin命令才是解释器;SDKMAN! 安装默认包含,手动解压包需确认 bin/ 下有kotlin或kotlin.bat - .kts 文件里可以用
//dep org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3这类注释声明依赖,但首次运行会联网下载,可能卡住几秒——这不是 Sublime 的问题,是 Kotlin Script 的行为 - 别在 .kts 里写
class或package声明,脚本模式只认顶层表达式和函数
最容易被忽略的是:Build System 的 selector 和文件实际语法类型必须严格一致,哪怕多一个点、少一个字母,Sublime 就不会自动激活该构建;而所有失败都不会弹错误框,只会静默不响应——这时候先去终端手动跑一遍 kotlinc xxx.kt -include-runtime -d xxx.jar && java -jar xxx.jar,确认它本身能通,再回头查 Sublime 配置。











