以前运行Java代码都是在Eclipse或IDEA中进行,当开发大型项目的时候用这些IDE确实很方便,但有时候自己仅仅是像用Java写写简单的算法或小demo,这样每次打开这样大型的IDE太不方便了。于是想到了sublime text,之前只是用其搭建过C++和python的环境,没想到搭建Java也如此的方便强大,下面简单写下自己搭建的过程。

搭建Java编译环境

在此之前请确保已配置好jdk环境变量。打开sublime text,依次点击Tools-> Build System-> New Build System,添加如下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
// 命令和参数,未指定路径则在PATH环境变量中找
"cmd": ["javac","-encoding","UTF-8","-d",".","$file"],
// 可选。获取cmd的错误输出
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
// 可选。`工具`菜单中`编译`为`自动`时生效
"selector": "source.java",
// 可选。输出"cmd"的编码。必须是合法的Python编码,缺省为"UTF-8"
"encoding":"UTF-8",
// variants 可选。用来替代主构建系统的备选。如果构建系统的"selector"与激活的文件匹配,变量"name"则会出现在 Command Palette 中。
"variants":
[
{
// 仅在"variants"中是合法的 (详见 variants)。用来标识系统中不同的构建系统。如果"name"是"Run" ,则会显示在Tools | Build System 菜单下,并且可以使用Ctrl + Shift + B调用
"name": "Run in cmd",
// 可选。如果该选项为"true" ,"cmd"则可以通过shell运行。
"shell": true,
"cmd" : ["start","cmd","/c", "java ${file_base_name} &echo. & pause"],
"working_dir": "${file_path}",
"encoding":"UTF-8"
},

{
"name": "Run in sublime",
"shell_cmd": "runJava.bat \"$file\"",
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.java",
"encoding": "UTF-8"
}
]
}

这里采用了两种方式,注意variants里的内容,其实配置C++等其他语言也是类似的。第一种我给的“name”为:Run in cmd,表示在控制台下运行,第二种为在sublime text中运行。ctrl-s保存,文件名我这里命名为MyJava。

其中在sublime text中运行时还要添加如下文件,在jdk的安装目录下的bin目录下新建runJava.bat文件,内容为:

1
2
3
4
5
6
7
8
9
10
11
 @echo off
cd%~dp1
echo Compiling %~nx1......
if exist %~n1.class (
del %~n1.class
)
javac %~nx1
if exist %~n1.class (
echo ------Output------
java %~n1
)

(注意在如果在sublime下运行则无法支持输入,在cmd中可以)

Ctrl+Shift+P选择运行方式:

Java代码提示补全

光能编译运行还不够,最好还需要能够智能提示,这里推荐JavaIME插件,安装好即可使用,无需任何配置。具体演示如下:

参考资料如下:
https://packagecontrol.io/packages/JavaIME

https://www.zybuluo.com/king/note/47271#%E7%BC%96%E8%AF%91%E8%BF%90%E8%A1%8Cjava