上圖標註 1 所示爲 IntelliJ IDEA 修改主題的地方,在 Windows 系統上 IntelliJ IDEA 默認提供的主題有四套:Darcula
、IntelliJ
、Windows
、Alloy. IDEA Theme
。除了 Darcula
是黑色主題,其餘三套都是以白色爲背景的。php
其餘操做系統上不必定會也有四套主題的,主題的選擇上你們根據本身喜愛便可。改變主題須要重啓 IntelliJ IDEA 方可看到效果。java
如上圖標註 1 所示,IntelliJ IDEA 主題字體的修改要先勾選 Override default fonts by
。默認 IntelliJ IDEA 是不推薦修改的,可是因爲字體是有分包含中文和不包含中文之分的,通常使用英文的國家是不須要額外擔憂亂碼問題的,而咱們須要。網絡
字體的審美上每一個人不同,可是如上一段說的,這裏的自提修改是須要知道一個前提的,那就是你選擇的那個字體必須含有中文,好比微軟雅黑和宋體這類是包含中文的,而 Courier New
和 Monaco
這類只是單純的英文字體。phpstorm
若是你選擇的字體不包含中文,那可能會在不少位置上出現相似 口口口口口
這樣的亂碼問題,好比文件名含有中文、字體是中文名字的都會變成 口口口口口
。ide
在 修改 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
表示篩選顯示系統上的等寬字體。因爲 Windows 系統上等寬字體並很少,勾選此選項出現的下拉字體可選擇就不多。取消勾選以後,就能夠顯示系統上全部已安裝的字體。ui
如上圖標註 3 所示,其中編碼字體有第一字體(Primary font
) 和 第二字體(Secondary font
)之分。當有些字符在第一字體支持不了的時候,會去使用第二字體進行支持。編碼
我我的習慣上:英文字體使用 Monaco
,因爲此字體不支持中文,因此我把這個設置爲第一字體,第二字體使用 Yahei Consolas Hybrid
進行支持,該字體含有中文。這兩個字體都不是系統自帶的,須要自行下載安裝。
若是你的第一字體不包含中文的話,第二字體包含中文,那在有些地方也仍是會出現 口口口口口
這類問題,好比 Ctrl + Shift + N
進行查找文件的時候,若是你輸入中文也會變成 口口口口口
,我我的文件名爲中文的很少,因此就容忍了這種狀況。若是你不肯意容忍這種狀況,那仍是回到最開始的要求:第一字體包含中文。
如上圖爲控制檯輸出內容字體修改,有不少 IntelliJ IDEA 新人在作輸出的時候出現亂碼緣由就是由於沒有在這裏進行設置。
控制檯輸出字體 修改的原理跟 代碼編輯字體修改 是同樣的,因此這裏不進行講解。
編輯區主題,也就是代碼書寫區的主題修改。基本上你們在 General
上都有對此進行小修小改,我下面也主要介紹下我我的在 General
上常修改的一些地方,其餘特性的顏色修改我通常默認,可是修改方法原理同樣。
如上圖紅圈下拉所示,展現的是我當前電腦能夠選擇的編輯區主題。
對於編輯區的主題,也有人制做成模板在網絡上提供下載。這裏主要介紹兩個站點:
http://www.ideacolorthemes.org/themes/,主要提供 jar 文件下載。
http://www.phpstorm-themes.com/,主要提供 xml 和 icl 文件下載。
對應文件如何安裝請查看網站對應的 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 從新配置這個項目便可。