IntelliJ IDEA 深入解析



本教程的前四章旨在為初學者提供 IntelliJ 的基礎概述。本節將深入探討 IntelliJ,並詳細討論專案、格式以及其他內容。

理解專案

專案是你正在開發的應用程式或軟體。它可以包含多個模組、類、庫、配置等。它是層次結構中的最高階元素。

理解模組

模組位於“專案”之下。模組是一個獨立的實體,可以獨立於其他模組進行編譯、除錯和執行。一個專案可以包含多個模組。您可以隨時向專案新增或刪除模組。

此外,我們還可以匯入現有的模組。請按照以下步驟匯入現有模組:

  • 轉到 檔案 → 專案結構。
  • 選擇模組,然後點選加號圖示。
  • 將顯示匯入模組的選項。
Modules Feature

理解資料夾

內容根目錄 是一個包含構成模組的所有檔案的資料夾。一個模組可以有多個內容資料夾。資料夾分為以下型別:

  • 原始碼 − 透過將此類別分配給資料夾,我們指示 IntelliJ 該資料夾及其子資料夾包含 Java 原始碼,並且應將其作為編譯過程的一部分進行編譯。

  • 測試 − 透過將此類別分配給資料夾,我們指示 IntelliJ 這是單元測試的位置。此資料夾可以訪問原始碼資料夾中的類。

  • 資源 − 它表示專案中使用的各種資原始檔,例如影像、XML 和屬性檔案。在編譯過程中,此資料夾的內容將原樣複製到輸出資料夾。

  • 排除 − IntelliJ 不會索引排除資料夾中的內容。這意味著 IntelliJ 不會提供程式碼補全建議和其他提示。例如,輸出目錄和目標目錄預設情況下是被排除的。

  • 測試資源 − 這類似於資源,並用於單元測試。

Content Root

理解庫

庫是不同類的集合。庫可以實現程式碼重用。在 Java 中,庫可以包含在 ZIP、Jar 或簡單的資料夾中。我們可以在三個不同的級別定義庫。這些級別分別是全域性、專案和模組級別。

  • 全域性級別 − 由所有專案共享。

  • 專案級別 − 由專案的所有模組共享。

  • 模組級別 − 由這些模組的類共享。

理解構面

構面是模組的擴充套件。它們為框架和技術添加了支援。當構面新增到模組時,IntelliJ 會識別並新增支援。例如,編輯器中的提示和幫助、視窗欄中的新工具、依賴項下載等。您可以從檔案 → 專案結構視窗新增構面,如下所示:

Window Bar

工件

工件是專案的輸出。它可以是簡單的 JAR 檔案、Java EE 應用程式或 Java EJB 應用程式。如果我們使用 Gradle 或 Maven 等外部構建工具,則 IntelliJ 會自動為它們新增工件。可以透過導航到檔案 → 專案結構建立工件,如下所示:

Artifacts

匯入現有專案

在本節中,我們將瞭解如何匯入現有專案。我們可以透過兩種方式匯入專案:

  • 從現有源匯入
  • 從構建模型匯入。

目前,它支援 Gradle 和 Maven 構建工具。要匯入專案:

  • 導航到 檔案 → 新建 → 從現有源建立專案。
  • 選擇現有專案的目錄、Maven 的 pom.xml 或 Gradle 的構建指令碼。
  • 點選確定按鈕。
Importing Existing Project

專案格式

IntelliJ 支援兩種型別的專案格式,一種是基於目錄的,另一種是基於檔案的。基於目錄的格式是較新的格式,建議使用。預設情況下,IntelliJ 建立基於目錄的專案格式。您可以在建立新專案時選擇專案格式。在新專案視窗中,只需點選更多設定,如下面的影像所示:

Project Formats

基於目錄的專案格式

此格式有助於在您的專案中建立一個 idea 資料夾,並將所有配置檔案儲存在該資料夾中。設定被分組到 xml 檔案中。例如,它將建立misc.xml、modules.xml、workspace.xml等。以下螢幕截圖將幫助您瞭解其工作原理:

Directory-based Project Format

基於檔案的專案格式

它將建立兩個專案檔案,副檔名為..iprwpr。ipr 檔案將包含專案特定的設定,而 wpr 檔案將包含工作區特定的設定。

File-based Project Format

要將基於檔案的專案轉換為基於目錄的專案,請轉到檔案 → 另存為基於目錄的格式

基於目錄的專案格式與基於檔案的專案格式

與基於檔案的專案格式相比,基於目錄的專案格式將設定儲存在具有有意義名稱的單獨資料夾中。其他差異包括:

  • 相關的設定儲存在單個檔案中,這使得在基於目錄的專案格式中更容易管理。

  • 如果資料夾包含 idea 子資料夾,則 IntelliJ 會識別該專案。因此,您無需顯式選擇 ipr 專案。

  • 基於目錄的專案格式將設定分解成多個檔案,因此更容易選擇要儲存在版本控制系統中的特定型別的設定。

廣告

© . All rights reserved.