IDEA亂碼問題
轉(zhuǎn)為IDEA后,被這個亂碼問題困擾了兩天,最終解決了,寫個文總結(jié)下。
我們的項目全部使用UTF-8,先出現(xiàn)的問題是新建文件不是UTF-8,先修改如下配置后正常
File->settings->Editor->File Encoding
將Project Encoding、IDE Encoding都改為UTF-8后,新建文件就是UTF-8了,文件編碼可以在狀態(tài)欄看到。如果以前用其他編碼編寫的代碼會出現(xiàn)亂碼,寫個程序轉(zhuǎn)下就好。
但改完后,控制臺顯示依舊是亂碼,嘗試修改編譯器配置,如下:
Settings->Build,Execution,Deployment->Compiler->Additional build process VM options:
增加了-Dfile.encoding=UTF-8,仍然無效。
然后嘗試在Maven選項中增加-Dfile.encoding=UTF-8,仍然無效。
后查到關(guān)于Idea testng單元測試亂碼的解決,還可以更改idea的啟動VM參數(shù):
IEDA安裝目錄\bin下編輯idea.exe.vmoptions,增加一行-Dfile.encoding=UTF-8,依舊無效。
網(wǎng)上搜了很多資料,還是改上面那些東西,沒啥新發(fā)現(xiàn)。
突然看到前文中的為-Dfile.encoding=UTF8,UTF-8編碼實際寫的UTF8,中間沒有短橫杠,趕緊修改,重啟IDEA,控制臺終于顯示正常。
但執(zhí)行下面兩行后,輸出都為UTF-8帶短橫桿的,對idea.exe.vmoptions里為何不識別帶橫杠的UTF-8很費解
System.out.println(String.format("file.encoding: %s", System.getProperty("file.encoding")));
System.out.println(String.format("defaultCharset: %s", Charset.defaultCharset().name()));
IDEA特殊字符不可見問題
某次將某些代碼臨時拷貝到mac自帶便簽工具,拷貝回來后,代碼突然報錯,由于中間還編輯了一些其他代碼,仔細(xì)檢查后并未發(fā)現(xiàn)語法錯誤,但I(xiàn)DEA一直提示unexpected token。
懷疑是不可見字符引起,于是把代碼發(fā)送至同事windows系統(tǒng)下的eclipse下,不可見字符終于顯現(xiàn)出來真身了,一個方框,里面一個問號。
解決方法:plugin中可以搜到一個插件Zero width characters locator,不過安裝后依舊不能讓不可見字符顯現(xiàn)。
臨時解決辦法:側(cè)邊欄滾動條 的語法檢查錯誤提示浮動窗口里,可以查看到哪有不可見字符,按指示刪除即可。
IDEA緩存問題
有時IDEA運行過久、項目開過多、手動添加修改一些配置,新導(dǎo)入的或者更換過依賴的項目會出現(xiàn)jdk不識別、maven的pom.xml檢查多遍是正確的,但是仍然有些類無法被識別等錯誤。
這時候可能是IDEA緩存出現(xiàn)問題,可以強(qiáng)制刪除緩存,點擊如下選項:
File->Invalidate Caches/Restart...
#源碼文件語法錯誤不提示,編譯后才提示語法錯誤
需要打開自動編譯選項,具體位置:
File->Other Settings->Default Settings->
Build,Execution,Deployment->Compiler->勾選 Make project automatically
還有兩種情況也不會提示語法錯誤:
Power Save Mode打開時,即使設(shè)置了以上選項;
打開項目過多,機(jī)器編譯速度較慢,導(dǎo)致還沒有編譯到相應(yīng)文件時,便運行程序,也不會自動提示。
git或svn等源碼控制軟件,更新源碼后,同文件內(nèi)容不同步,仍然為舊內(nèi)容
IDEA運行一段時間后,如果機(jī)器內(nèi)存較小,運行緩慢,或者打開項目過多,會出現(xiàn)以上情況。
可以手動同步下磁盤文件,選項在
File->Synchronize
點擊后,強(qiáng)制同步磁盤文件
其他常用信息
idea日志位置:菜單Help->show log in explorer(finder),打開的文件夾中idea.log即是
|