Sublime配置Kotlin运行环境与编写程序设置教程
时间:2026-08-17 | 作者:实验室老王 | 阅读:0Sublime Text 本身不直接支持运行 Kotlin 脚本(.kts),这确实是个小遗憾。必须借助外部工具,通过 kotlinc-jvm 或 kotlin 命令配合 Build System 来实现。
不过有个关键点要先明确:新版 Kotlin(≥1.9)已经弃用了 kotlinc 的脚本模式,kotlin 命令才是专门为 .kts 设计的解释器。很多人卡在这里,往往就是因为用错了命令。
确认系统已装对命令:kotlin 而非 kotlinc
最常见的误区,是以为 kotlinc 能跑 .kts 文件。实际上,kotlinc 只编译 .kt 文件。
真正用于脚本的是独立的 kotlin 可执行文件。它随 Kotlin CLI 一起安装,不是别名或软链。
- 在终端执行
kotlin -version,必须要有输出,比如Kotlin version 1.9.24。如果报command not found,说明没装完整版 Kotlin CLI,或者 PATH 没有包含其bin/目录。 kotlinc -version和kotlin -version都应该可用,但用途完全不同:kotlinc编译.kt生成.jar,kotlin则直接执行.kts。- 需要警惕的是,通过 Homebrew 安装的
kotlin(brew install kotlin)常常缺少kotlin命令,只带kotlinc。更稳妥的做法,是从 GitHub Releases 下载官方 ZIP 包并手动配置 PATH。
先确认命令可用,再配置 Sublime
如果终端里连 kotlin 都无法执行,那么 Sublime 的 Build System 也一定无法正常工作。
先检查命令,再写构建配置,可以少走很多弯路。
Build System 必须用 shell_cmd 调 kotlin,且路径不能含空格或中文
Sublime 默认调用 CMD(Windows)或 sh(macOS/Linux)。而 kotlin 脚本对路径非常敏感,尤其在 Windows 下,空格和中文路径很容易直接中断执行。
- 把
.kts文件放在纯英文、无空格的路径下,例如D:kthello.kts或~/dev/kt/hello.kts。 - Build System 配置中必须用
shell_cmd,而不是cmd。否则,&&、引号等 shell 特性无法生效。 - Windows 用户如果使用 PowerShell,需要显式加上
pwsh -c前缀。更稳妥的做法是改用cmd /c,并确保用双引号包裹路径:"shell_cmd": "cmd /c "kotlin \"$file\"""。 - macOS/Linux 用户要注意 shell 类型。Sublime 默认用
sh,但某些kotlin脚本依赖bash特性,可以改写为bash -c "kotlin '$file'"。
.kts 文件里不能写 fun main(),得用顶层表达式或 @file:JvmName
Kotlin 脚本(.kts)和普通 Kotlin 源码有本质区别。.kts 默认执行文件内的顶层代码,不走 main 入口。
强行写 fun main() 不会报错,但也不会执行。这是另一个很常见的陷阱。
- 正确的写法是直接写可执行语句,比如:
println("Hello from .kts!")。 - 如果想复用
.kt里的main函数逻辑,可以用@file:JvmName("ScriptMain")+fun main(),但必须配合-J-Dkotlin.scripting.enableExperimental=true启动参数,并且在 Sublime Build System 中显式加上。 - 常见的错误现象是:Build 成功但无输出。大概率是写了
fun main()却没触发,或者脚本里用了未声明的变量(.kts不会自动导入kotlin.io.*等)。
编码与 JVM 参数容易被忽略,尤其中文输出乱码
即使 kotlin 命令能跑通,中文字符串打印成 ,或者抛 ja va.nio.charset.MalformedInputException,也是高频问题。
根源通常很简单:JVM 默认编码不是 UTF-8。
- Windows CMD 默认编码是 GBK,
kotlin进程会继承这个编码,导致读取 UTF-8 编码的.kts文件失败。 - 解决方法是在 Build System 的
shell_cmd中显式指定 JVM 参数:kotlin -J-Dfile.encoding=UTF-8 "$file"。 - macOS/Linux 用户如果使用 zsh/bash,还需要确认终端
locale输出包含UTF-8,否则kotlin可能仍然按 locale 解码源文件。 - 额外提示:不要在 Build System 里混用
kotlinc和kotlin命令逻辑,比如先kotlinc -script再ja va。新版已经不支持-script参数了。
.kts 和 .kt 不能共用一个 Build System
最容易被忽略的,其实是 .kts 和 .kt 的根本差异。前者是脚本,后者是编译单元。
在 Sublime 里,一个 Build System 无法同时正确处理两者。这一点非常关键。
- 必须分开建两个文件:
KotlinScript.sublime-build和Kotlin.sublime-build。 selector也要分别设为source.kotlin.script和source.kotlin。- 否则插件识别不准时,不仅构建容易出错,连语法高亮都会错位。
结论很明确:运行 .kts 时,核心不是 kotlinc,而是 kotlin 命令;同时必须为 .kts 和 .kt 分别配置独立的 Build System。
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- Sublime配置Swift开发环境与运行Swift代码设置教程
- 时间:2026-08-18
-
- Sublime搭建Swift服务端开发环境与SPM包管理异步框架集成
- 时间:2026-08-18
-
- Sublime配置Dart与Flutter开发环境设置教程
- 时间:2026-08-18
-
- Sublime配置Swift运行环境与苹果开发代码编写教程
- 时间:2026-08-18
-
- Unity开发中Sublime编写C#脚本代码提示环境配置
- 时间:2026-08-18
-
- Sublime配置TypeScript环境教程及TS插件安装步骤
- 时间:2026-08-18
-
- Sublime搭建TypeScript工程化开发环境与类型检查模块化构建
- 时间:2026-08-18
-
- Sublime Text配置Swift语法高亮显示详细教程
- 时间:2026-08-17
精选合集
更多大家都在玩
大家都在看
更多-
- 2026年9月17日小鸡庄园答案
- 时间:2026-09-16
-
- 蚂蚁庄园今日答案2026年9月17日
- 时间:2026-09-16
-
- 蚂蚁庄园小课堂今日最新答案2026年9月17日
- 时间:2026-09-16
-
- 蚂蚁庄园小鸡答题今日答案2026年9月17日
- 时间:2026-09-16
-
- 褪黑素主要由人体哪个器官分泌 蚂蚁庄园今日答案9.17
- 时间:2026-09-16
-
- 蚂蚁庄园今天答题答案2026年9月17日
- 时间:2026-09-16
-
- 蚂蚁庄园答题今日答案2026年9月17日
- 时间:2026-09-16
-
- 研学旅游指导师的核心服务对象是 蚂蚁新村今日答案2026.9.16
- 时间:2026-09-16
