因為現在在借着經典的書籍鞏固一些基礎知識,所以會經常跑一些簡單的程序,可又不想開龐大的IDE。所以就想試着用Sublime-Text來編譯程序,哦,當然如果習慣的話,用 terminal 也可以。其實Sublime-Text里有編譯功能,ctrl+B 即可,但編譯后只是生成了 .class 文件,並沒有執行,也就看不到結果。針對這一情況,需要一些配置文件的修改。我在網上查了一些方法,發現沒有能用的,自己大概摸索了一下,找到了一個解決方法。當然,這個方法是以對付 JAVA 來做的,當然稍做修改也可以用來對付其他的語言。下面講講我理解的原理。
本文地址:http://www.cnblogs.com/rossoneri/p/4378339.html
在 Sublime-Text 的文件夾下有一個 Packages 文件夾,里面有很多針對各種語言的工具包。對付 JAVA 就需要打開 Java.sublime-package 。不用解壓,直接打開文件 JavaC.sublime-build 。ctrl + B 編譯就是通過這個文件執行的,可以看到內容是:
{ "shell_cmd": "javac \"$file\"", "file_regex": "^(...*?):([0-9]*):?([0-9]*)", "selector": "source.java" }
難怪,編譯的時候只執行了 javac ,所以只是生成 .class 文件。那我們現在需要執行文件得到結果,就需要從這一行命令入手。
打開 jdk 目錄下的 /bin 。對,就是 javac 所在的目錄,在里面我們新建一個腳本 runJava.sh :
#!/bin/bash [ -f "$1.class" ] && rm $1.class for file in $1 do echo "-Compiling $file.java ..." javac $file.java done if [ -f "$1.class" ] then echo "------Output------" java $1 else echo " " fi
記得 chmod 777 ( 自己的環境權限設成 777 無所謂,不行就 755 ,反正必須可執行)
腳本的意思是 有一個文件 test.java ,獲取其文件名 test 做參數, test.class 存在就將其刪掉重新編譯,編譯成功就執行。(注意不要亂刪空格)
然后注銷計算機,重新登錄,在終端輸入 runJava.sh 命令是否存在( 其實只要系統能找到這個文件放哪都行,放 jdk 只是因為 jdk 安裝后都會配置其環境,比較省事兒)
之后就修改 JavaC.sublime-build 文件,將第一行改成:
"shell_cmd": "runJava.sh \"$file_base_name\"",
把 javac 換成新加的命令,后面文件名, $file 代表 test.java,$file_base_name 代表 test,明顯,我們的命令需要后者為輸入。
修改后保存,重啟 Sublime-Text ,讓其重新加載修改后的工具包。打開文件, ctrl + B 即可看到輸出。