標籤:
因為現在在藉著經典的書籍鞏固一些基礎知識,所以會經常跑一些簡單的程式,可又不想開龐大的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.classfor file in $1do echo "-Compiling $file.java ..." javac $file.javadoneif [ -f "$1.class" ]then echo "------Output------" java $1else 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 即可看到輸出。
[Sublime-Text] Linux下用Sublime-Text3編譯輸出Java檔案