📜  Intellij Idea-深入研究

📅  最后修改于: 2020-11-16 07:08:27             🧑  作者: Mango


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

了解项目

项目是您正在使用的应用程序或软件。它可以包含多个模块,类,库,配置等。它是层次结构中的最高元素。

了解模块

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

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

  • 转到文件→项目结构。
  • 选择模块,然后单击加号图标。
  • 它将显示导入模块的选项。

模块功能

了解文件夹

内容根目录是一个文件夹,其中包含构成模块的所有文件。一个模块可以具有多个内容文件夹。文件夹分为以下几种类型-

  • -通过将此类别分配给文件夹,我们指示IntelliJ该目录及其子文件夹包含Java源代码,并且应在编译过程中对其进行编译。

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

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

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

  • 测试资源-这类似于资源,用于单元测试。

内容根

了解图书馆

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

  • 全球级别-由所有项目共享。

  • 项目级别-由项目的所有模块共享。

  • 模块级别-由这些模块的类别共享。

了解方面

构面是模块的扩展。它们增加了对框架和技术的支持。将构面添加到模块后,IntelliJ会识别出它添加了支持。例如,编辑器中的提示和帮助,窗口栏中的新工具,依赖项下载等。您可以从文件→项目结构窗口中添加构面,如下所示-

窗栏

伪像

工件是项目的输出。它可以是简单的JAR文件,Java EE应用程序或Java EJB应用程序。如果我们使用诸如Gradle或Maven之类的外部构建工具,则IntelliJ将自动为其添加工件。可以通过导航到文件→项目结构来创建工件,如下所示-

伪像

导入现有项目

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

  • 从现有来源导入
  • 从构建模型导入它。

目前,它支持Gradle和Maven构建工具。导入项目-

  • 从现有源导航到文件→新建→项目。
  • 选择现有项目的目录,Maven的pom.xml或Gradle的构建脚本。
  • 单击确定按钮。

导入现有项目

项目格式

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

项目格式

基于目录的项目格式

这种格式有助于在项目中创建一个想法文件夹,并将所有配置文件保留在该文件夹中。设置被分组到xml文件中。例如,它将创建misc.xml,modules.xml,workspace.xml等。以下屏幕截图将帮助您了解其工作原理-

基于目录的项目格式

基于文件的项目格式

它将创建两个扩展名为.iprwpr的项目文件。 ipr文件将包含项目特定的设置,而wpr文件将包含工作区特定的设置。

基于文件的项目格式

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

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

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

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

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

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