IntelliJ IDEA 主題、字型、編輯區主題、檔案編碼修改
阿新 • • 發佈:2019-01-03
主題修改
- 上圖標註 1 所示為 IntelliJ IDEA 修改主題的地方,在 Windows 系統上 IntelliJ IDEA 預設提供的主題有四套:
Darcula
、IntelliJ
、Windows
、Alloy. IDEA Theme
。除了Darcula
是黑色主題,其他三套都是以白色為背景的。 - 其他作業系統上不一定會也有四套主題的,主題的選擇上大家根據自己喜好即可。改變主題需要重啟 IntelliJ IDEA 方可看到效果。
字型修改
主題字型修改
- 如上圖標註 1 所示,IntelliJ IDEA 主題字型的修改要先勾選
Override default fonts by
。預設 IntelliJ IDEA 是不推薦修改的,但是由於字型是有分包含中文和不包含中文之分的,一般使用英文的國家是不需要額外擔心亂碼問題的,而我們需要。 - 字型的審美上每個人不一樣,但是如上一段說的,這裡的自提修改是需要知道一個前提的,那就是你選擇的那個字型必須含有中文,比如微軟雅黑和宋體這類是包含中文的,而
Courier New
和Monaco
這類只是單純的英文字型。 - 如果你選擇的字型不包含中文,那可能會在很多位置上出現類似
口口口口口
這樣的亂碼問題,比如檔名含有中文、字型是中文名字的都會變成口口口口口
。 - 在 修改 IntelliJ IDEA 的主題字型的時候,不建議把自提調成很大,因為很多人遇到這樣一種情況:顯示器解析度低,主題字型又大,在 IntelliJ IDEA 的某些操作的工具選單、右鍵選單選項中部分選項超出了解析度顯示範圍,沒辦法被選中。當然了,如果你一定要把字型改大,又不用大解析度顯示器,那可以通過 IntelliJ IDEA 的
Menus and Toolbars
- 還需要特別注意的時候,如果你是開著 IntelliJ IDEA 的時候,新裝了一個字型的話,那必須重啟IntelliJ IDEA 之後才能在下拉列表找到新裝的字型。
程式碼編輯字型修改
- 如上圖標註 1 所示,預設 IntelliJ IDEA 是不能直接在預設的程式碼模板上修改字型的,需要先
Save As
一份出來,然後才可以修改。這種設計在 IntelliJ IDEA 其他很多設定也是如此的,所以如果你還看到類似有Copy
、Save As
這類選項的按鈕就要想到是此設計思想。 - 如上圖標註 2 所示,勾選的
Show only monospaced fonts
- 如上圖標註 3 所示,其中編碼字型有第一字型(
Primary font
) 和 第二字型(Secondary font
)之分。當有些字元在第一字型支援不了的時候,會去使用第二字型進行支援。 - 我個人習慣上:英文字型使用
Monaco
,由於此字型不支援中文,所以我把這個設定為第一字型,第二字型使用Yahei Consolas Hybrid
進行支援,該字型含有中文。這兩個字型都不是系統自帶的,需要自行下載安裝。 - 如果你的第一字型不包含中文的話,第二字型包含中文,那在有些地方也還是會出現
口口口口口
這類問題,比如Ctrl + Shift + N
進行查詢檔案的時候,如果你輸入中文也會變成口口口口口
,我個人檔名為中文的不多,所以就容忍了這種情況。如果你不願意容忍這種情況,那還是回到最開始的要求:第一字型包含中文。
控制檯輸出字型修改
- 如上圖為控制檯輸出內容字型修改,有很多 IntelliJ IDEA 新人在做輸出的時候出現亂碼原因就是因為沒有在這裡進行設定。
- 控制檯輸出字型 修改的原理跟 程式碼編輯字型修改 是一樣的,所以這裡不進行講解。
編輯區主題修改
編輯區主題介紹
- 編輯區主題,也就是程式碼書寫區的主題修改。基本上大家在
General
上都有對此進行小修小改,我下面也主要介紹下我個人在General
上常修改的一些地方,其他特性的顏色修改我一般預設,但是修改方法原理一樣。 - 如上圖紅圈下拉所示,展示的是我當前電腦可以選擇的編輯區主題。
- 對於編輯區的主題,也有人制作成模板在網路上提供下載。這裡主要介紹兩個站點:
- 對應檔案如何安裝請檢視網站對應的
Help
頁面,都有詳細說明的。
編輯區主題細節修改
- 上圖標註 1 為可修改的通用細節內容
- 上圖標註 2 為可修改屬性,其中並不是每個細節都可以修改所有屬性的。比如細節:
Default text
是可以勾選Bold
,而Caret row
則是無法勾選Bold
,因為只有文字才有加粗的屬性需求。 - 上圖標註 3 為修改後的預覽區,預覽區是實時動態展示的。
- 在
General
區,我常修改的有: Default text
,指的是預設程式碼文字,我一般會修改其Background
屬性。Caret row
,指的是游標所在行,我一般會修改其Background
屬性。Vertical indent guide
,指的是垂直縮排線,我一般會修改其Foreground
屬性。Identifier under caret
,指的是游標所在位置的相同識別符號呈現什麼效果,我一般會修改其Background
屬性。Text search result
,指的是在查詢模式下,匹配字元的樣式,我一般會修改其Background
屬性。
檔案編碼修改
- 上圖標註 1 所示,IDE 的編碼預設是
UTF-8
,Project Encoding
雖然預設是GBK
,但是一般我都建議修改為UTF-8
。 - 上圖標註 2 所示,IntelliJ IDEA 可以對
Properties
檔案進行專門的編碼設定,一般也建議改為UTF-8
,其中有一個重點就是屬性Transparent native-to-ascii conversion
, - 上圖標註 3 所示,對於
Properties
檔案,重要屬性Transparent native-to-ascii conversion
主要用於轉換ascii
,一般都要勾選,不然Properties
檔案中的註釋顯示的都不會是中文。 - 上圖標註 4 所示,IntelliJ IDEA 除了支援對整個 Project 設定編碼之外,還支援對目錄、檔案進行編碼設定。如果你要對目錄進行編碼設定的話,可能會出現需要
Convert
編碼的彈出操作選擇,強烈建議 在轉換之前做好檔案備份,不然可能出現轉換過程變成亂碼,無法還原。
- 如上圖演示,對單獨檔案的編碼修改還可以點選右下角的編碼設定區。如果程式碼內容中包含中文,則會彈出演示中的操作選擇。
Reload
表示使用新編碼重新載入,新編碼不會儲存到檔案中,重新開啟此檔案,舊編碼是什麼依舊還是什麼。Convert
表示使用新編碼進行轉換,新編碼會儲存到檔案中,重新開啟此檔案,新編碼是什麼則是什麼。- 含有中文的程式碼檔案,
Convert
之後可能會使中文變成亂碼,所以在轉換成請做好備份,不然可能出現轉換過程變成亂碼,無法還原。
由於編碼問題引起的編譯錯誤
- 編譯報錯:
找不到符號
、未結束的字串文字
等的解決辦法: - 由於 UTF-8 編碼檔案有分
有BOM
和無BOM
之分,預設情況下 IntelliJ IDEA 使用的編譯器是javac
,而此編譯只能編譯無BOM
的檔案,有很多 Eclipse 使用者在使用 IntelliJ IDEA 開發 Eclipse 專案的時候常常會遇到此問題。主要是因為 Eclipse 的編譯器是Eclipse
,此編譯器支援有BOM
的檔案編譯。顧,解決辦法是對於此檔案進行 BOM 去除。 - 批量去除 BOM,你可以 Google:
批量去除 BOM
、批量轉換無 BOM
等關鍵字,網路上已有提供各種方案。 - 除了通過去除 BOM 還有設定 IntelliJ IDEA 的編譯器為
Eclipse
,但是一般不建議這樣做。 - 如果上述問題都無法解決,而且你也確認 IntelliJ IDEA 各個配置編碼的地方都是
UTF-8
,報錯檔案編碼也是是UTF-8 無 BOM
的話,那還有一種可能也會出現這種情況:專案配置檔案有問題。專案編碼的配置檔案在:/專案目錄/.idea/encodings.xml
。如果你會修改此檔案可以進行修改,如果不會,那就刪除掉.idea
整個目錄,重啟 IntelliJ IDEA 重新配置這個專案即可。