电竞比分网-中国电竞赛事及体育赛事平台

分享

IDEA的一些坑(持續(xù)更新)

 一本正經(jīng)地胡鬧 2019-12-08

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即是

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多