如何在NeoVim中直接查看编译后Java程序的运行输出结果
解决方案
你当前的配置仅覆盖了Java编译、报错排查的逻辑,要实现运行输出查看,可以按需求选择以下方案:
方案1:添加独立运行快捷键
针对单文件、主类名与文件名一致的简单Java程序,直接在你的配置中新增对应映射即可:
方式1:命令行临时显示输出
新增配置:autocmd Filetype java map <F12> :!java %<<Return>按下F12后会直接调用系统Java环境运行编译好的类,输出会展示在Neovim命令区域,按任意键即可回到编辑界面。
方式2:内置终端持久化展示输出
新增配置:autocmd Filetype java map <F12> :terminal java %<<Return>按下F12后会打开Neovim内置终端缓冲区,运行输出会永久保存在该缓冲区内,支持滚动回看,输入
:q即可关闭终端。
方案2:编译+运行一条龙
如果希望按下快捷键自动完成「编译-报错校验-运行」的全流程,直接修改原有F9的映射即可:
autocmd Filetype java map <F9> :make<Return>:if v:shell_error == 0 <Bar> !java %< <Bar> else <Bar> copen <Bar> endif<Return>
逻辑说明:按下F9后先执行编译,若编译无错误(返回码为0)则直接运行程序展示输出,若编译报错则打开quickfix窗口展示错误信息。
额外优化(JDK11+适用)
JDK11及以上版本支持单文件直接运行,无需提前执行javac编译,你可以直接简化配置为:
autocmd Filetype java map <F12> :!java %<Return>
无需手动触发编译,按下F12即可直接运行当前打开的Java文件,适合简单测试场景使用。
注意事项
如果你的Java程序包含包声明、或主类名与文件名不一致,将上述配置中的%<替换为你的主类全限定名即可正常运行。
内容的提问来源于stack exchange,提问作者Khosraw Azizi
相关产品推荐
相关产品推荐

