Intellij Idea - 深度潜水

本教程的前四章旨在为初学者提供IntelliJ的基本概述.本节深入探讨IntelliJ并讨论有关项目,其格式以及其他内容的更多信息.

了解项目

项目是一个应用程序或软件你在哪工作.它可以包含多个模块,类,库,配置等.它是层次结构中最顶层的元素.

了解模块

模块在"项目"下面有一个梯级.模块是一个独立的实体,可以独立于其他模块进行编译,调试和运行.单个项目可以包含多个模块.您可以随时在项目中添加或删除模块.

除此之外,我们还可以导入现有模块.按照以下步骤导入现有模块 :

  • 转到File → 项目结构.

  • 选择模块并单击加号图标.

  • 它将显示导入模块的选项.

模块功能

了解文件夹

内容根是一个文件夹,其中包含组成模块的所有文件.一个模块可以有多个内容文件夹.文件夹分为以下类型和减号;

  • 来源 : 通过将此类别分配给文件夹,我们指示IntelliJ该文件及其子文件夹包含java源代码,并且应该将其编译为编译过程的一部分.

  • 测试 : 通过将此类别分配给文件夹,我们指示IntelliJ它是单元测试的位置.此文件夹可以访问Sources文件夹中的类.

  • 资源 : 它表示项目中使用的各种资源文件,例如图像,XML和属性文件.在编译过程中,此文件夹的内容将原样复制到输出文件夹.

  • 排除 :  IntelliJ不会将排除文件夹中的内容编入索引.这意味着IntelliJ不会提供代码完成建议和其他提示.例如,默认情况下排除输出目录和目标目录.

  • 测试资源 : 这类似于资源并用于单元测试.

内容根

了解库

库是不同类的汇编.库使代码可重用.在Java中,库可以包含在ZIP,Jar或简单文件夹中.我们可以在三个不同的级别定义库.级别为 - 全局,项目和模块级别.

  • 全局级别 : 由所有项目共享.

  • 项目级别 : 由项目的所有模块共享.

  • 模块级别 : 由这些模块的类共享.

了解Facets

Facets是对模块.他们增加了对框架和技术的支持.将facet添加到模块时,IntelliJ会识别它添加支持.例如,编辑器中的提示和帮助,窗口栏中的新工具,依赖性下载等.您可以从 File&rarr添加构面;项目结构窗口如下所示 :

Window Bar

工件

工件是项目的输出.它可以是简单的JAR文件,Java EE应用程序或Java EJB应用程序.如果我们使用Gradle或Maven等外部构建工具,那么IntelliJ将自动为它们添加工件.可以通过导航到 File&rarr来创建工件;项目结构如下所示 :

Artifacts

导入现有项目

在本节中,我们将了解如何导入现有项目.我们可以通过两种方式导入项目 :

  • 从现有来源导入

  • 导入来自构建模型.

目前,它支持Gradle和Maven构建工具.要导入项目 :

  • 导航到File → 新的 → 来自现有源的项目.

  • 选择现有项目的目录,Maven的pom.xml或Gradle的构建脚本.

  • 单击"确定"按钮.

Importing Existing Project

项目格式

IntelliJ支持两种类型的项目格式,一种是基于目录的,另一种是基于文件的.基于目录的格式是较新的建议.默认情况下,IntelliJ创建基于目录的项目格式.您可以在创建新项目时选择项目格式.在新项目窗口中,只需单击更多设置,如下图所示 :

Project Formats

基于目录的项目格式

此格式有助于在项目中创建构思文件夹,并将所有配置文件保留在该文件夹中.设置分组到xml文件中.例如,它将创建 misc.xml,modules.xml,workspace.xml 等.以下屏幕截图将帮助您了解其工作原理和减号;

基于目录的项目格式

基于文件的项目格式

它将使用 .. ipr wpr 扩展创建两个项目文件. ipr文件将包含项目特定的设置,wpr文件将包含特定于工作区的设置.

File-基于项目格式

要将基于文件的项目转换为基于目录的项目,请转到 File → 另存为基于目录的格式.

基于目录的项目格式与基于文件的项目格式

与基于文件的项目相比格式,基于目录的项目格式将设置存储在具有有意义名称的单独文件夹中.其他差异是 :

  • 相关设置存储在单个文件中,可以更轻松地管理基于目录的项目格式.

  • 如果文件夹包含idea子文件夹,则IntelliJ会识别该项目.因此,您没有明确选择ipr项目.

  • 基于目录的项目格式将设置分成多个文件因此更容易选择特定项目要存储在版本控制系统中的设置类型.