Introduction
IntelliJ IDEA and the other JetBrains
IDEs keep a project’s settings in a folder named .idea at its top. Each
topic has its own XML file. The project’s modules are listed there, and each module
has an .iml file of its own.
A folder dropped on this site is named as an IntelliJ project when it has a
.idea folder or an .iml file, and the XML files open with a
list of their components.
Structure
Each file is XML. The usual root is project, holding one
component element per subsystem, named by its name attribute.
What is inside a component belongs to that part of the IDE, and new components appear
with new IDE versions.
| File | Holds |
|---|---|
modules.xml | The project’s modules, in the ProjectModuleManager component: module elements with filepath and fileurl. |
misc.xml | Project-wide settings, including the JDK, in ProjectRootManager. |
vcs.xml | Which folders are under version control. |
workspace.xml | Personal state: open files and run history. Usually left out of version control. |
runConfigurations/ | Shared run configurations, one file each, with a component root named ProjectRunConfigurationManager. |
libraries/ | Shared library definitions, one file each. |
Paths are written with macros such as $PROJECT_DIR$, which the IDE
replaces with the project’s folder.
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/app.iml" filepath="$PROJECT_DIR$/app.iml" />
</modules>
</component>
</project>
Links
Software
- IntelliJ IDEA – JetBrains’ Java and Kotlin IDE (Windows, macOS, Linux)
- PyCharm – JetBrains’ Python IDE (Windows, macOS, Linux)
- Android Studio – Google’s Android IDE, built on IntelliJ IDEA (Windows, macOS, Linux)