source root
idea 會編碼該目錄下的Java文件
錯誤: Java class located out of the source root 表示該類文件沒有在source root 下。
緩存和索引
idea 依靠緩存和索引提供更快的查找和代碼提示等,當斷電或藍屏重啟時,會損壞緩存和索引,解決方法:
File -> Invalidate and Restart 會清空緩存和索引
或者
刪除system目錄,重啟idea會重新生成緩存和索引
編譯
idea 的編譯更手動化,也可以設置為自動編譯(settings -> compiler -> make project automatically)
- Compile:對選定的目標(Java 類文件),進行強制性編譯,不管目標是否是被修改過。
- Rebuild:對選定的目標(Project),進行強制性編譯,不管目標是否是被修改過,由于 Rebuild 的目標只有 Project,所以 Rebuild 每次花的時間會比較長。
- Make:使用最多的編譯操作。對選定的目標(Project 或 Module)進行編譯,但只編譯有修改過的文件,沒有修改過的文件不會編譯,這樣平時開發大型項目才不會浪費時間在編譯過程中。
project 和 module
- project 項目IDEA的最高組織單元,代表一個完成的軟件系統,它是用來提供基本的coding assistance, bulk refactoring, coding style consistency, etc。項目不包含項目代碼、構建腳本、文檔等,它包含項目需要的module和libraries
- module module是一個獨立的功能單位,它可以被編譯、運行和測試。module包含源碼、構建腳本、測試單元、部署說明、文檔,module自能存在一project中,通過.iml描述配置信息。開發團隊通常通過版本控制中心分享.iml module文件
項目格式文件
有兩種:
idea (directory based) 創建項目的時候自動創建一個 .idea 的項目配置目錄來保存項目的配置信息。這是默認選項。
ipr (file based) 創建項目的時候自動創建一個 .ipr 的項目配置文件來保存項目的配置信息。
idea項目的配置都是以xml文件來表現,如.idea或.iml等,所以我們在項目協同時可以將這些配置文件提交到版本控制中心,但在checkout項目之后,本地進行項目配置后不要把變化提交到版本控制系統。
git的問題
問題一: Can't update: no tracked branch
解決方式:在git-shell中項目對應的目錄下,運行git branch --set-upstream-to origin/master master ,然后再回到idea更新
問題二: 輸錯密碼后,驗證登錄框沒有再出現