1. 程式人生 > >Intellij Idea使用入門(一)——Idea常用設定,Project和Module的區別及快捷鍵總結

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、版本控制設定

--》版本控制概念

    一個人進行專案開發有點理想化,更多的則是團隊協同開發。這時,咱們就需要了解一個非常重要的概念啦,那就是“版本控制

”,常用的版本控制工具有git和svn(Subversion)。

     不瞭解“版本控制”這個概念的可以參考下它的發展史。起初,並沒有關於版本控制的概念,在協同開發的時候,大家都是自己保持專案程式碼,或者互相拷貝程式碼,這樣在合併程式碼的過程中就難免遇到很多不相容的問題;這就促使“集中式版本控制系統(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,上面截過圖,就不在這佔篇幅了

   3

   如上圖所示,顯示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 沒有實時編譯(未設定時),但是這並不影響程式碼的自動檢查。但是對於多個類之間的關聯關係,還是要等BuildRebuild觸發的時候才會做相關檢查的。


在 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)的概念,而是提出了ProjectModule這兩個概念。接下來,就讓咱們一起看看 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 是預設單ProjectModule,這時ProjectModule合二為一,在沒有修改儲存路徑的時候,顯然ProjectModule具有強約束作用啦!不過說實話,這裡就是將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 + SSettings
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 模式下,恢復程式執行,但是如果該斷點下面程式碼還有斷點則停在下一個斷點上。