IntelliJ Concepts: Difference between revisions
Line 22: | Line 22: | ||
The .iml file keeps the internal representation of the [[#Module_Settings|module settings]]. | The .iml file keeps the internal representation of the [[#Module_Settings|module settings]]. | ||
==Module Settings== | |||
Module settings apply only to one module and they are stored in the module's [[#.iml_File|.iml file]]. | |||
==Grouping Modules== | ==Grouping Modules== |
Revision as of 19:24, 6 August 2020
External
Internal
Project
A project is a directory that keeps everything that makes up the application. A typical project has a set of settings and one or several modules. The project provides a mechanism to express dependencies between modules and stores modules' shared configuration.
Module
A module is a logical group of source code and resources within a project.
The module has an .iml file that keeps the internal representation of the module settings. The module is also associated with a module content root directory, which stores the source code, tests and resources. The .iml file and the module content root are not tied, they can exists in different locations on the file system.
.iml File
The .iml file keeps the internal representation of the module settings.
Module Settings
Module settings apply only to one module and they are stored in the module's .iml file.
Grouping Modules
Settings
There are three type of settings in IntelliJ IDEA: module settings, project settings and global settings.
Project Settings
Global Settings
.idea Directory
The .idea directory is used by IntelliJ to store project-related configuration metadata, and it is collocated with the project. It lives by default under the project's root. It contains the following file:
User-Specific Settings
workspace.xml
Stores user-specific settings.
tasks.xml
User Dictionaries
Maintained in .idea/dictionaries/username.xml.
shelf
datasources.xml
In IDEA 13 or earlier, datasources.xml contains user passwords.
libraries
All XML files under .idea/libraries will be generated by the Gradle or the Maven project.
gradle.xml
Gradle settings.
vcs.xml
These are some recommendations on what to share and what not to share in a SVC system. The article applies to Git, but the rules are generally valid:
Debugging
Suspending Only One Thread, and Not All
Right-click on the breakpoint → Suspend → Thread
Optional: Make Default.