Sublime Text 不能直接运行 Kotlin,必须依赖系统已安装的 kotlinc 和 java 命令;验证二者在终端中可执行(kotlinc -version、java -version ≥17)是前提,否则所有配置均无效。

Sublime Text 本身不运行 Kotlin,它只负责调用系统里已装好的 kotlinc 和 java 命令——如果终端里敲 kotlinc -version 没输出,后续所有配置都无效。
验证 kotlinc 和 java 是否真可用
这是最常被跳过的一步,也是 90% 编译失败的根源。Sublime 的构建系统不会报“命令未找到”,只会静默失败或提示“file not found”。必须手动确认:
- 打开终端(不是 Sublime 内置的 console),执行
kotlinc -version,应输出类似Kotlin Compiler 1.9.24 - 执行
java -version,JDK 版本建议 ≥17(Kotlin 1.9+ 要求 JVM 17+ 运行时) - 检查
PATH是否包含kotlinc所在目录:macOS/Linux 看~/.zshrc或~/.bash_profile中是否有export PATH="/path/to/kotlin/bin:$PATH";Windows 看系统环境变量里的Path - 别用
brew install kotlin—— 它通常只装 runtime,缺kotlinc编译器,kotlinc -version会直接报 command not found
安装正确的 Kotlin 语法插件(不是 JetBrains 官方版)
Sublime 不靠插件“运行”Kotlin,但语法高亮全靠它。装错插件会导致 .kt 文件识别失败、括号不匹配、甚至干扰构建系统触发。
- 用 Package Control 安装时,搜 “Kotlin”,选作者为
sublack或fwcd的包(GitHub 上活跃维护),避开名字带 “JetBrains” 或 “SublimeKotlin” 的旧包 - 安装后重启 Sublime,新建
test.kt,右下角状态栏点击语法名 →Open all with current extension as…→Kotlin,强制关联 .kt 后缀 - 如果已装过其他 Kotlin 插件(如 SublimeKotlin),先卸载——它不提供语法定义,反而可能覆盖
source.kotlinselector,导致构建系统不触发
配置 Kotlin.sublime-build 要注意 -include-runtime 和路径空格
Build System 是 Sublime 调用外部命令的唯一通道,写错参数会导致编译成功但运行时报 NoClassDefFoundError: kotlin/jvm/internal/Intrinsics。
-
"cmd"中必须带-include-runtime参数,否则生成的 jar 不含 Kotlin 标准库,java -jar必然失败 - 文件路径含中文或空格时,
$file会被拆成多个参数,需用引号包裹:"cmd": ["kotlinc", "$file", "-include-runtime", "-d", "${file_base_name}.jar"]→ 改为"cmd": ["kotlinc", "$file", "-include-runtime", "-d", "${file_base_name}.jar"]并设"shell": true(macOS/Linux)或显式调用cmd /c(Windows) -
selector必须是source.kotlin,不能写成source.kt或漏掉——这是 Sublime 判断“该不该用这个构建系统”的唯一依据 - 推荐保存为
Packages/User/Kotlin.sublime-build,避免和插件自带配置冲突
运行 .kts 脚本要用单独的 KotlinScript.sublime-build
.kts 是 Kotlin 脚本格式,不能用 kotlinc 编译,得走 kotlin 命令直解执行,且要求 JDK 和 Kotlin CLI 都支持脚本模式。
- 先验证终端能否跑:
kotlin hello.kts,若报command not found,说明kotlin命令没进 PATH(它和kotlinc同目录,但某些 SDKMAN! 安装方式默认不 link) - 新建 Build System,内容为:
{ "cmd": ["kotlin", "$file"], "selector": "source.kotlin", "file_regex": "^([^ ]+)\s+([0-9]+):([0-9]+):\s+(.*)$", "shell": true } - 保存为
KotlinScript.sublime-build,然后对 .kts 文件按Ctrl+Shift+B(Windows/Linux)或Cmd+Shift+B(macOS)选择该构建系统 - 注意:.kts 文件里不能有
package声明,main 逻辑必须是顶层表达式,否则kotlin命令会拒绝执行
真正卡住人的从来不是 Sublime 配置,而是 kotlinc 和 java 在终端里能不能跑通、路径里有没有空格、JDK 版本跟不跟得上 Kotlin 编译器。配完记得关掉所有 Sublime 窗口再重开——插件加载和语法 selector 绑定有时只在启动时生效。

















