使用sublime text3學習ava程序
Sublime Text 是一款流行的代碼編輯器軟件,也是HTML和散文先進的文本編輯器,可運行在Linux,Windows和Mac OS X。也是許多程序員喜歡使用的一款文本編輯器軟件。Sublime Text是收費軟件,但可以無限期試用。
Sublime Text 支持多種編程語言的語法高亮、擁有優秀的代碼自動完成功能;Sublime Text 還具有良好的擴展能力和完全開放的用戶自定義配置;SublimeText 還有編輯狀態恢復的能力,無論是用戶自發退出還是意外崩潰退出,下次啓動軟件後,之前的編輯狀態都會被完整恢復,就像退出前時一樣。
Sublime Text 3定位是作爲一個一款輕量級的文本編輯器, 配置運行Java,應對簡單的情況還是可以的,但不能期望太高。對中文支持不太友好,例如打開用記事本寫的代碼若含有中文亂碼;配置較麻煩(與EditPlus相比)。
Sublime Text的界面
命令板(Command Palette):Sublime Text的操作中心,它使得我們基本可以脫離鼠標和菜單欄進行操作。
控制檯(Console):使用Ctrl + `調出,它既是一個標準的Python REPL,也可以直接對Sublime Text進行配置。
配置(Settings)與其他GUI環境下的編輯器不同,目前Sublime Text並沒有一個專門的配置界面,與之相反,Sublime Text使用JSON配置文件。JSON配置文件的引入簡化了Sublime Text的界面,但也使得配置變的複雜。
sublime text 中文官網
下載合適的版本,如Windows 64位(bit)版本
點擊Next
點擊Install
點擊Finish
【關於如何註冊或破解,請看他文,在此不講】
SublimeText本身已經有一些默認的build system(編譯系統;構建系統;生成系統)設置,參見下圖:
注意,即使是默認的build system設置,也需要安裝相應的編譯器纔可使用(sublime text本身只是文本編輯器,需要藉助其他工具完成編譯)。使用默認的build system設置快捷鍵Ctrl+B。
使用過程:輸入代碼,保存,選中相應的build system設置,再按下快捷鍵Ctrl+B。源文件和編譯後的字節代碼文件在在相同的目錄(文件夾)中。
例如,上面圖示中的javaC等是SublimeText默認的build system設置,要想使用javaC,也需要安裝JDK並配置好環境變量。
如何用此編譯java源代碼?輸入java源代碼,保存,單擊菜單:Tools—>build system選中 javaC,按快捷鍵Ctrl+B實現編譯。源文件和編譯後的字節代碼文件在在相同的目錄(文件夾)中。
默認的build system設置有侷限,若需要更改默認行爲,使之能處理各種複雜情況,可以創建編寫自己的合適的build system設置。爲此我們需要了先解一些知識點。
Package Control的作用
Sublime Text支持大量插件,如何找到並管理這些插件就成了一個問題,Package Control正是爲了解決這個問題而出現的,利用它我們可以很方便的瀏覽、安裝和卸載Sublime Text中的插件。Sublime Text安裝後,第一次打開時,若在線會自動安裝package control。
打開sublime text3點開菜單“Preferences”如果可見“Package Control”項,
說明插件管理包已安裝成功。否者需要安裝。參見 附錄二
然後可以用它進行插件安裝,推薦使用“Package Control”安裝插件。
【也可以下載完整的插件包後解壓,放入目錄下。
如何找到 Packages 目錄?一個快捷的方法是:雙擊打開 “Sublime Text 3”,點菜單 “Preferences—>Browse Packages…”】
實現java編譯運行的配置文件(創建編寫自己的合適的build system設置)的方法
前面已提到過,前提條件:已安裝jdk並配置好環境變量。
sublime text 3提供了構建系統(Build systems),可以用來運行一段外部命令,這可以通過編譯配置文件實現。
配置文件(build文件)是JSON格式(是輕量級的文本數據交換格式)的,花括號裏面是一個個的鍵值對,它們之間用逗號隔開。鍵和值中間是一個冒號。鍵也稱爲名稱。名稱和值都要用雙引號括起來,因此值裏面用到雙引號的話,就要用轉義 \” (反斜槓+雙引號)表示。例如:
"working_dir": "${file_path}"
常用的名稱及含義如下:
名稱 |
含義 |
working_dir |
運行cmd是會先切換到working_dir指定的工作目錄 |
cmd |
包括命令及其參數。如果不指定絕對路徑,外部程序會在你係統的:const:PATH 環境變量中搜索。 |
shell_cmd |
相當於shell:true的cmd ,cmd可以通過shell運行。 |
file_regex |
該選項用Perl的正則表達式來捕獲構建系統的錯誤輸出到sublime的窗口。 |
selector |
在選定 Tools | Build System | Automatic 時根據這個自動選擇編譯系統。 |
variants |
用來替代主構建系統的備選。也就是一個配置文件可以對應多個執行命令 |
name |
只在variants下面有,設置命令的名稱,例如Run。 |
encoding |
GBK、utf-8 |
類似 ${file} 這種符號,是sublime提供的變量,一些常用的變量如下:
變量 |
含義 |
$file_path |
當前文件所在目錄路徑, e.g., C:\Files. |
$file |
當前文件的詳細路徑, e.g., C:\Files\Chapter1.txt. |
$file_name |
文件全名(含擴展名), e.g., Chapter1.txt. |
$file_extension |
當前文件擴展名, e.g., txt. |
$file_base_name |
當前文件名(不包括擴展名), e.g., Document. |
|
變量的使用可以直接使用,也可以使用花括號括起來,例如 ${project_name}。更多的Build System Variables參見
配置文件例1
菜單:Preference—>Browse Packages,在打開的窗口中雙擊User文件夾,新建名爲JavaCR.sublime-build的文件,用記事本打開,粘貼下面的代碼並保存關閉:
{
"working_dir": "${project_path:${folder}}",
"selector": "source.java",
"shell": true,
}
【若將第一句換爲:
"cmd": ["javac","-d",".","$file_name", "&&", "java", "$file_base_name"],
將無法交互輸入】
其中,javac是編譯命令和java是運行命令,參看“使用JDK11命令行編譯、運行Java程序 及相關常見問題的解決”一文https://blog.csdn.net/cnds123/article/details/101674527
&& 與 & 表示連接後一個語句,略有區別,&&表示前一句成功,才執行後一句。
start cmd 打開cmd,/c執行結束後關閉,/k執行結束後關閉
Sublime Text中文編碼亂碼的問題:
由於Sublime Text 3中文件默認編碼格式是utf-8 ,而windows中的命令行(也叫爲cmd)默認編碼格式是GBK 。所以代碼中出現中文時運行會亂碼。
Sublime原生並不支持GBK編碼,但如果安裝了ConvertToUTF8插件,就可以正確顯示ANSI或者GBK編碼的文件。因此,裝插件後打開GBK編碼的源代碼文件,也不會亂碼。也可以編譯的時候用指定的編碼來編譯源代碼中的字符串。
點擊Preferences->Packet Control,輸入:install package,回車,在稍後彈出的安裝包框中搜索:ConvertToUTF8,選擇點擊安裝;
注意: 打開的文件只是插件幫我們轉碼,正常顯示中文,文件本身編碼並未發生改變,還是 ANSI。
這時可以在菜單Tool—>Build System中看到JavaCR,參見下圖:
你可以使用JavaCR編譯運行java程。
編寫如下代碼
import java.util.Scanner;
public class HelloWorld2 {
public static void main(String args[]) {
Scanner s = new Scanner(System.in);
System.out.println("輸入字符串,exit終止====>");
while (s.hasNextLine()) {
String line = s.nextLine();
if (line.equals("exit"))
break;
System.out.println("out==>"+line);
}
}
}
使用菜單 File —>Save 保存文件名HelloWorld2.java
單擊菜單:Tools—>build system選中 javaCR,按快捷鍵Ctrl+B實現編譯運行。源文件和編譯後的字節代碼文件在在相同的目錄(文件夾)中。
參看下圖:
有包語句的情況,編譯部分好實現,但運行部分,如何傳入包名卻是個問題。
有包語句的情況,僅實現編譯的配置文件例2
菜單:Preference—>Browse Packages,在打開的窗口中雙擊User文件夾,新建名爲JavaPackageC.sublime-build的文件,用記事本打開,粘貼下面的代碼並保存關閉:
{
"cmd": ["javac","-encoding","UTF-8","-d",".","$file_name"],
"working_dir": "${project_path:${folder}}",
"selector": "source.java"
}
測試代碼
package pack1.pack2; //包
public class Test2{
//主要執行區塊
public static void main(String[ ] args){
//程序語句
System.out.println("我的有package語句的簡單Java程序");
}
}
使用菜單File —>Save 保存文件名Test2.java
單擊菜單:Tools—>build system選中JavaPackageC,按快捷鍵Ctrl+B實現編譯運行。源文件和編譯後的字節代碼文件在在相同的目錄(文件夾)中。
有包語句編譯結果的運行方法,可以這樣,打開cmd,使用如下命令運行
java -classpath 路徑 包名.類名
這裏是 java -classpath C:\Users\lenovo\Desktop\ch02 pack1.pack2.Test2
附錄一、Sublime Text的漢化:
法一
前提,電腦需要連接互聯網!
打開sublime text 3,點擊菜單項:Preferences—>Package Control
輸入關鍵字“install”點擊顯示出來的“Install Package”安裝插件功能
再稍等一會,菜單轉爲中文,菜單“幫助”-“Language”下面可以切換語言:
法二
https://github.com/Xiankai-Wan/SublimeSupport
下載ZIP文件,解壓得到 License 註冊碼文件和 Default.sublime-package 漢化包文件。
打開 Sublime Text 編輯器,點擊菜單欄 Preferences >> Browse Packages 會打開一個文件目錄,類似於 C:\Users\XXXXX\AppData\Roaming\Sublime Text 3\Packages。
我們需要返回到上級目錄如:C:\Users\XXXXX\AppData\Roaming\Sublime Text 3,在此目錄中進入 Installed Packages 文件夾,將解壓得到的 Default.sublime-package 文件直接複製到這個文件夾內就可以完成漢化。
Package Control爲插件管理包,所以我們首先要安裝它。有了它,我們就可以很方便的瀏覽、安裝和卸載Sublime Text中的插件。
安裝Package Control方式
★直接複製安裝
可以直接下載安裝包,解壓縮,經其中package_control文件夾複製到到Packages目錄中【快速打開:打開你的 “Sublime Text 3”,點菜單preferences->Browse Packages)】
重啓Sublime Text 3。如果在Perferences->package settings中看到package control這一項,則安裝成功。
★運行安裝
打開Package Control的網頁https://packagecontrol.io/,點擊右側的“Installation”
複製出裏面的代碼段:
打開sublime text3點擊菜單View選擇show console 打開控制檯(快捷鍵Ctrl+` 這個點是Tab上面的鍵,也有說是l的右邊第二個,但是我的不知道爲啥是Tab上面的。注意切換爲英文輸入),粘貼複製的代碼,回車。
安裝完成後關閉程序,重新啓動“Sublime Text 3”,點開菜單“Preferences”可見“Package Control”項,說明插件管理包已安裝成功。
附錄三、sublime text3擴展學習
官方文檔:http://www.sublimetext.com/docs/3/
官方論壇:http://www.sublimetext.com/forum/
非官方文檔:http://sublime-text-unofficial-documentation.readthedocs.org/甚至比官方文檔還要全面!
Sublime Text 使用手冊(w3cschool.cn)
https://www.w3cschool.cn/sublimetext/