不能。Sublime Text 是纯文本编辑器,无内置Kotlin支持,需手动配置构建系统调用kotlinc编译再用java执行,且必须预先安装JDK和Kotlin编译器并正确配置PATH。

Sublime Text 能不能直接运行 Kotlin
不能。Sublime Text 本身只是文本编辑器,没有内置 Kotlin 运行时或编译器集成,kotlinc 和 java 都得靠外部命令调用。所谓“运行 Kotlin”,本质是配置一个能自动调用 kotlinc 编译再用 java 执行的构建系统 —— 不是插件帮你跑,是你告诉 Sublime “按这个命令链去 shell 里执行”。
必须先装好 Kotlin 编译器和 JDK
很多人卡在这步,却以为是 Sublime 配置问题。Kotlin 编译依赖 JDK 1.8+(推荐 JDK 17),且必须把 kotlinc 加入 PATH,否则 Sublime 的构建系统根本找不到它。
- 检查
java -version和kotlinc -version是否能在终端/命令行直接运行 - Mac/Linux:确认
kotlinc在/usr/local/bin或 SDK 安装路径下,且该路径已写入~/.zshrc或~/.bash_profile - Windows:确保
kotlinc.bat所在目录(如C:\kotlinc\bin)已加进系统PATH环境变量 - 别用包管理器(如 sdkman、choco)安装后跳过重开终端 —— Sublime 启动时读的是旧环境变量
怎么写一个靠谱的 Kotlin 构建系统(.sublime-build)
Sublime 的构建系统本质是 JSON 文件,核心是让 cmd 数组正确拼出编译 + 运行命令。常见错误是硬编码路径、忽略包名、或没处理 .kt 文件名与主类名不一致的情况。
- 推荐用
shell_cmd而非cmd,避免 Windows 下路径空格和转义问题 - 编译命令必须指定输出目录(如
-d ./out),否则kotlinc默认生成 .class 到当前目录,容易污染源码 - 运行阶段要用
java -cp ./out MainKt(无包)或java -cp ./out com.example.MainKt(有包),注意MainKt是默认生成的类名,不是文件名 - 完整示例(保存为
Kotlin.sublime-build,放在Packages/User/):
{
"shell_cmd": "kotlinc \"$file\" -d ./out && java -cp ./out $(basename \"$file\" .kt)Kt",
"file_regex": "^(.*?):([0-9]+):([0-9]+): (.*)$",
"selector": "source.kotlin"
}
为什么改完构建系统还是报错:Class not found
这是最常被忽略的点:Kotlin 编译后生成的类名不是 xxx.kt,而是 xxxKt(无包)或 com.example.xxxKt(有包)。如果文件叫 Hello.kt,主函数在顶层,运行时必须用 java HelloKt,不是 java Hello。
- 检查编译输出:
ls ./out或dir ./out,确认生成的是MyAppKt.class而非MyApp.class - 如果用了
package,运行命令的 classpath 和类名都得带上包路径,比如java -cp ./out com.example.MyAppKt - 构建系统里用
$(basename ...)或%~n提取文件名时,务必加Kt后缀 —— Kotlin 不会自动帮你补 - Windows 用户注意:
%~n只能用于批处理,Sublime 的cmd模式不支持,必须切回shell_cmd或写完整批处理脚本
kotlinc 和 java,再把那条命令原样搬进 shell_cmd,是最稳的路径。










