Sublime Text 3 Java交互式控制台输入问题及Mac替代方案咨询
嘿,我来帮你解决Mac上Sublime运行Java没法接收输入的问题——这是个挺常见的坑,因为默认的Sublime构建系统是在非交互式环境里执行的,根本没法读取你的输入。下面给你几个可行的解决方案,还有一些顺手的替代工具:
先搞定Sublime本身的问题
方案一:自定义Java构建系统
你可以修改构建配置,让它调用Mac自带的终端来运行程序,这样就能支持输入了:
- 打开Sublime,点击顶部菜单栏的
Tools > Build System > New Build System - 删除默认的模板内容,粘贴下面的配置代码:
{ "cmd": ["javac", "$file_name", "&&", "osascript", "-e", 'tell application "Terminal" to do script "cd \\\"${file_path}\\\"; java ${file_base_name}; exit"'], "file_regex": "^(...*?):([0-9]*):?([0-9]*)", "selector": "source.java", "shell": true }
- 按
Cmd+S保存,文件名设为JavaInteractive.sublime-build,保存位置选默认的用户构建目录就行(一般是~/Library/Application Support/Sublime Text/Packages/User/) - 切换到这个新的构建系统(
Tools > Build System > JavaInteractive),按Cmd+B运行代码,这时候会弹出系统终端窗口,你就能正常输入内容了。
这个配置的原理是:先编译你的Java文件,然后用osascript调用Mac的Terminal应用,切换到代码所在目录,运行编译后的class文件——Terminal是完全交互式的,自然就能接收输入了。
方案二:用SublimeREPL插件
如果不想折腾构建配置,试试专门的交互式运行插件SublimeREPL:
- 先装Package Control(没装的话,按
Cmd+Shift+P,输入Install Package Control按回车就行) - 再按
Cmd+Shift+P,输入Install Package,搜索SublimeREPL并安装 - 打开你的Java文件,点击顶部菜单栏的
Tools > SublimeREPL > Java > Java - 这时候会弹出一个REPL窗口,你可以在这里编译运行代码,直接输入交互内容就行。如果常用的话,还能给它设置快捷键,操作起来更顺手。
嫌配置麻烦?试试这些替代工具
如果觉得Sublime的配置太折腾,这些工具天生支持Java交互式运行,省心很多:
- IntelliJ IDEA Community版:完全免费的Java开发神器,内置终端、调试器,运行程序时自动打开交互式控制台,输入输出毫无问题,还自带代码补全、错误检查,从入门到进阶都能用。
- VS Code:轻量编辑器,安装
Extension Pack for Java插件包后,就能直接支持Java编译、运行、调试,运行时会在底部的集成终端执行,天然支持输入,配置简单,适合喜欢轻量工具的用户。 - Mac自带终端:最简单的方式——打开Terminal,用
cd命令切换到代码所在目录,输入javac 你的文件名.java编译,再输入java 你的文件名运行,完全没有输入问题,适合快速测试小段代码。 - Eclipse:老牌Java IDE,免费开源,配置好JDK后,运行程序会弹出控制台窗口,完美支持输入输出,适合习惯传统IDE操作的用户。
内容的提问来源于stack exchange,提问作者ddalcanto
相关产品推荐
相关产品推荐

