Intellij Idea使用入門(一)——Idea常用設定,Project和Module的區別及快捷鍵總結
*本篇主要是對Idea的常用設定(主題、字型、自動編譯、編譯器選擇等)、Project和Module、快捷鍵等做個介紹!*
Intellij Idea是JetBrains公司的產品,社群版可以免費使用,旗艦版是按年收費的,學生憑學生證或者創業公司可免費使用一年,當然也可以選擇破解,使用的話肯定是旗艦版好用,因為社群版少了很多功能。
我之前一直用的是eclipse,對於Intellij Idea(後面簡稱Idea)也差不多是剛剛接觸,先不談技術,談談用的感受,Idea介面是我喜歡的,之前用過Android Studio(谷歌推出的基於Idea的Android整合開發工具),因為是基於Idea的,所以和Idea的介面差不多,還有一個很人性化的特點就是——程式碼自動儲存,再也不需要Ctrl+S了。這是我初步用Idea的兩大感受。在此宣告,eclipse對於學生、初學Java的人還是不錯的選擇,eclipse相對於Idea“小”很多,不過很多人說電腦記憶體沒有8G就別安裝Idea了,我只能說我的電腦只有4G,配置也不算好,用Idea沒太大問題,如果裝之前電腦就很卡的話,建議自個兒先重灌個系統吧。
Intellij Idea的下載與安裝網上有太多的教程,如果要用這款軟體的人,我相信肯定是有一定計算機基礎的人,至於安裝個軟體,破解都不是難事,安裝破解之類的直接略過。
————————————————————下面進入到正題————————————————————
一、Idea工具常用設定介紹
1.1、Settings裡設定主題、字型、快捷鍵、版本控制
(通過File-》Settings... 或者通過快捷鍵Ctrl+Alt+S)
--》設定Idea的主題和字型字號
--》設定快捷鍵
1.2、版本控制設定
--》版本控制概念
一個人進行專案開發有點理想化,更多的則是團隊協同開發。這時,咱們就需要了解一個非常重要的概念啦,那就是“版本控制
不瞭解“版本控制”這個概念的可以參考下它的發展史。起初,並沒有關於版本控制的概念,在協同開發的時候,大家都是自己保持專案程式碼,或者互相拷貝程式碼,這樣在合併程式碼的過程中就難免遇到很多不相容的問題;這就促使“集中式版本控制系統(CVCS)”的出現,例如 SVN、CVS 等,但這仍然有一個風險,那就是如果原始碼庫出現問題,導致專案程式碼丟失,那麼大家手裡的都是部分程式碼,就算勉強合併到一起,也不能保證專案原始碼的準確性;因此,這又促使“分散式版本控制系統(DVCS)”的出現,例如 Git,它的好處顯而易見,每個人從原始碼庫中檢出的程式碼,都是作為一份獨立的、完整的拷貝程式碼存在,這時就算原始碼庫出現問題,甚至原始碼丟失,那麼任何一個人的程式碼都可以作為原始碼進行共享,從而大大提高了協同開發的抗風險能力。
我用的是Git,可以下載一個Windows 版本控制系統客戶端:,這是一個圖形化介面工具,圖示是隻烏龜。
Idea 自帶了對一些版本控制系統的支援外掛,咱想使用什麼版本控制系統仍得安裝什麼版本控制系統的客戶端,否則用不了。
Idea 對版本控制的支援都是以外掛(Settings -》Plugins)的方式來實現的。旗艦版預設支援目前主流的版本控制軟體包括:GitHub、CVS、ClearCase、Git、、Mercurial、Perforce、Subversion(SVN) 和 TFS 等。
--》常用版本控制工具SVN、Git 和 GitHub 的配置方法
● SVN
--》File | Settings | Version Control | Subversion
如果想要在 Idea 中使用 SVN,則需要事先安裝 SVN 客戶端或是 TortoiseSVN 這類圖形化工具。對於 Windows 系統,推薦大家安裝 TortoiseSVN;對於 Mac 系統,則推薦大家安裝 CornerStone.
● Git
如果想要在 Idea 中使用 Git,同樣需要事先安裝 Git 客戶端,不過在安裝 Git 客戶端的過程中,咱們可以自由選擇是否同時使用 Windows 命令列工具。如果、事先安裝了 Git 客戶端的話,則會在Path to Git executable
中自動定位到 Git 的可執行檔案,然後點選Test
,上面截過圖,就不在這佔篇幅了!
如上圖所示,顯示Git executed successfully
,則表示分散式版本控制系統 Git 可用。
● GitHub
當咱登入 GitHub 賬號之後,點選Test
進行測試,如下頁面中需要在Test
一次,出現下面Success的彈出框就表示 Idea 連線到 GitHub 自己的賬號之中啦!
--》具體版本控制操作
Checkout from Version Control -> GitHub
,登入賬號,然後選擇我們想要檢出的專案,點選Clone
,此“克隆”的概念來自於 Git,表示把遠端倉庫的專案檢出到本地
如上圖所示,點選Clone
之後,提示我們對將要檢出的專案進行確認,點選Yes
,然後一路Next
,最後點選Finish
:
至此,選擇的專案已經成功從 GitHub 檢出到本地啦!、、
我們再回到Version Control
,瞭解一些常用的操作:
--》版本控制,修改後彈窗問題
- 1 :
When files are created
,表示當有新檔案放進專案中的時候 IntelliJ IDEA 做如何處理,預設是 Show options before adding to version control,表示彈出提示選項,讓我們自己決定是否將這些新檔案加入到版本控制。如果不想彈出提示,則選擇下面兩個選項進行預設操作。 - 2:
When files are deleted
,表示當有新檔案在專案中被刪除的時候 IntelliJ IDEA 做如何處理,預設是 Show options before removing from version control,表示彈出提示選項,讓我們自己決定是否將這些被刪除的檔案從版本控制中刪除。如果不想彈出提示,則選擇下面兩個選項進行預設操作。
--》選擇排除版本控制檔案
1.3、有關編譯的設定
--》編譯方式
相對於 Eclipse 的實時自動編譯,IntelliJ IDEA 的編譯更加手動化,雖然 IntelliJ IDEA 也可以通過設定開啟實時編譯,但是太浪費資源了,因此不建議這樣做。IntelliJ IDEA 編譯方式除了手工點選編譯按鈕進行編譯之外,還可以在“容器”執行之前配置一個編譯事件,先編譯後執行。在預設情況下,IntelliJ IDEA 也都是這樣設定的,因此在實際開發中,咱們也不用太注意編譯這件事。雖然 IntelliJ IDEA 沒有實時編譯(未設定時),但是這並不影響程式碼的自動檢查。但是對於多個類之間的關聯關係,還是要等Build
或Rebuild
觸發的時候才會做相關檢查的。
在 IntelliJ IDEA 中,編譯方式有以上 3 種,分別為:
- Build:對選定的目標(Project 或 Module)進行編譯,但只編譯修改過的檔案,沒有修改過的檔案則不會進行編譯。
- Recompile:對選定的目標(Java 類檔案),進行強制性編譯,不管目標是否是被修改過。
- Rebuild:對選定的目標(Project),進行強制性編譯,不管目標是否是被修改過,由於 Rebuild 的目標只有 Project,因此每次 Rebuild 花的時間都比較長。
--》編譯的主體設定
File -》Settings... -》Build、Execution、Deployment -》 Compiler
--》選擇需排除編譯的檔案
File -》Settings... -》Build、Execution、Deployment -》 Compiler -》Excludes
可以通過點選下圖右上角所示+
和-
,任意新增或刪減目錄(或檔案)進行編譯排除。在編譯專案的時候,如果任何一個可編譯的檔案沒有編譯通過,那麼 Idea就無法執行起來,必須等全部問題解決並且編譯通過之後,Idea 才能執行起來。不過有可能在開發過程中,某一個包目錄的檔案編譯無法通過,但是咱們又不急著改,這時咱們就可以考慮把該包加入到排除編譯列表中,這樣的話,專案就可以執行起來啦!
--》Java 編譯器設定
File -》Settings... -》Build、Execution、Deployment -》 Compiler -》Java Compiler
二、Project和Module的概念與區別
在 Idea 中,沒有類似於 Eclipse 工作空間(Workspace)的概念,而是提出了Project
和Module
這兩個概念。接下來,就讓咱們一起看看 Idea 官方是如何描述兩者的吧!
對於 Project, Idea官方是這樣介紹的:
A project is a top-level organizational unit for your development work in IntelliJ IDEA. In its finished form, a project may represent a complete software solution. A project is a collection of:
- Your work results: source code, build scripts, configuration files, documentation, artifacts, etc.
- SDKs and libraries that you use to develop, compile, run and test your code.
- Project settings that represent your working preferences in the context of a project.
A project has one or more modules as its parts.
對於 Module, Idea官方是這樣介紹的:
- A module is a part of a project that you can compile, run, test and debug independently.
- Modules are a way to reduce complexity of large projects while maintaining a common (project) configuration.
- Modules are reusable: if necessary, a module can be included in more than one project.
通過上面的介紹,最清楚的一點是,在 Idea 中Project
是最頂級的結構單元,然後就是Module
,一個Project
可以有多個Module
。
目前,主流的大型專案結構基本都是多Module
的結構,這類專案一般是按功能劃分的,比如:user-core-module、user-facade-module 和 user-hessian-module 等等,模組之間彼此可以相互依賴。通過這些Module
的命名可以看出,她們都是處於同一個專案中的模組,彼此之間是有著不可分割的業務關係的。
因此,咱可以大致總結出:一個Project
是由一個或多個Module
組成,儘量讓各模組處於同一專案之中,此時彼此之間具有互相依賴的關聯關係。在這裡,之所以說“儘量”,是因為 Idea 的Project
是一個沒有具備任何編碼設定、構建等開發功能的,主要起到一個專案定義、範圍約束、規範型別的效果,或許,咱們也可以簡單地理解Project
就是一個單純的目錄,只是這個目錄在命名上必須有其代表性的意義。在一般情況下,Idea 是預設單Project
單Module
的,這時Project
和Module
合二為一,在沒有修改儲存路徑的時候,顯然Project
對Module
具有強約束作用啦!不過說實話,這裡就是將Module
的內容放在了Project
的目錄下,實際上還是Module
自己約束自己。
下面,來建立一個普通的Java Project
直接點選Next,Next,到如下介面,建立一個FirstIdeaDemo的Project,只要在Project名中填寫,Module名也會隨著改變:
點選Next之後,它會提醒是在本視窗開啟,還是新建一個視窗開啟,一般選擇新視窗即可!展開專案之後,如下:
下面單擊FirstIdeaDemo,在它下面新建一個Module
如下,給一個Module名,
再看目錄結構:
上述做法可以這樣理解:FirstIdeaDemo就相當於一個公共模組,在裡面寫一些公共方法,公共引數,在這個模組下面可以也有很多子模組,比如剛剛建立的Module1。
三、Idea常用快捷鍵
3.1、修改和檢視所有快捷鍵
上面談到了快捷鍵的設定,在File-》settings-》Keymap裡面即可檢視和修改,對應的修改步驟如下圖:
3.2、Idea的快捷鍵(Windows的)
快捷鍵 | 功能 |
---|---|
Ctrl + X | 剪下行 |
Ctrl + D | 複製行 |
Ctrl + N | 查詢類 |
Ctrl + F | 查詢文字 |
Ctrl + J | 自動程式碼 |
Ctrl + H | 顯示類結構圖 |
Ctrl + Q | 顯示註釋文件 |
Ctrl + P | 方法引數提示 |
Ctrl + E | 最近開啟的檔案 |
Ctrl + R | 替換當前文字中的程式碼 |
Ctrl + End | 跳到檔案結尾 |
Ctrl + Home | 跳到檔案開頭 |
Ctrl + Space | 程式碼提示 |
Ctrl + Shift + N | 查詢檔案 |
Ctrl + Shift + R | 替換專案中的程式碼 |
Ctrl + Alt + L | 格式化程式碼 |
Ctrl + Alt + O | 優化匯入的類和包 |
Ctrl + Alt + S | Settings |
Ctrl + Shift + Space | 自動補全程式碼 |
Alt + Shift + C | 對比最近修改的程式碼 |
Alt + Insert | 生成程式碼(如建構函式等) |
Ctrl + Alt + Space | 類名或介面名提示 |
Alt + Enter | 自動導包 |
Alt + left / right | 切換程式碼檢視 |
Ctrl + B | 快速開啟游標處的類或方法 |
Alt + Up / Down | 在方法間快速移動定位 |
F2 或 Shift + F2 | 高亮錯誤或警告快速定位 |
Ctrl + Shift + Up / Down | 程式碼向上 / 下移動 |
Ctrl+E 或者 Alt+Shift+C | 最近更改的程式碼 |
Ctrl + Shift + Alt + N | 查詢類中的方法或變數 |
Ctrl + Alt + left / right | 返回至上次瀏覽的位置 |
Ctrl + / 或 Ctrl + Shift + / | 單行註釋或多行註釋 |
fori + Tab 鍵 | 快速建立 for 迴圈 |
psvm + Tab 鍵 | 快速建立主函式 |
sout + Tab 鍵 | 快速建立輸出語句 |
Debug 快捷鍵:
F7 :在 Debug 模式下,進入下一步,如果當前行斷點是一個方法,則進入當前方法體內, 如果該方法體還有方法,則不會進入該內嵌的方法中;
F8 :在 Debug 模式下,進入下一步,如果當前行斷點是一個方法,則不進入當前方法體內;
F9 :在 Debug 模式下,恢復程式執行,但是如果該斷點下面程式碼還有斷點則停在下一個斷點上。