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