Project settings apply to the current project only. They are stored together with other project files in the .idea directory in XML format.
For example, project settings include VCS settings, code style settings, the list of language injections, and so on. You can add these settings to your VCS along with other project files.
To configure project settings, selecton macOS or on Windows and Linux from the main menu. Alternatively, you can press Ctrl+Alt+S to show the IDE settings.
In the Settings/Preferences dialog, project settings that apply only to the current project are marked with the icon. Other settings are global and apply to all existing projects.
If you want to share project settings between already existing projects, you can use the Settings Repository or the Settings Sync plugin. You can also export the settings to a ZIP archive and import it later to other IDE instances.
For the detailed description of every option in the settings, refer to Settings/Preferences.
Default settings for new projects
You can configure project settings not only for the current project, but for all projects that you will create later. This means that you can set the new default settings for your projects.
From the main menu, select.
Share project settings through VCS
Project settings are stored in the project directory as a set of XML files under the .idea folder. This folder contains both user-specific settings that shouldn't be placed under version control and project settings that are normally shared among developers working in a team, for example, the code style configuration.
When you place a project under version control, your personal settings are automatically ignored. IntelliJ IDEA moves workspace.xml — the file with your personal settings — to the list of ignored files to avoid conflicts with other developers' settings.
Configuration files are processed according to your choice. Once you modify the project settings, and a new configuration file is created, the IDE shows a notification at the bottom of the screen prompting you to select how you want to treat configuration files in this project:
View files: view the list of created configuration files and select, which of them you want to place under version control. After that, the selected files will be scheduled for addition to VCS.
Always Add: silently schedule all configuration files created in the .idea directory for addition to VCS (applies only to the current project).
Don't Ask Again: never schedule configuration files for addition to VCS; they will have the unversioned status until you manually add them to VCS (applies only to the current project).
If you close the notification without selecting any option, it will appear again after a new configuration file is created. The new file will also go to the list that will be there until you select one of the options even if you restart the IDE.
List of non-shareable configuration files
IntelliJ IDEA identifies configuration files and adds them to the list of ignored files automatically. However, if you are sharing your project manually, we recommend that you avoid placing these files and folders under version control:
.idea/libraries if they are generated from Gradle and Maven projects
*.iml and .idea/modules.xml files in Maven and Gradle projects
*.iws file in file-based projects
For the full list of files, refer to How to manage projects under Version Control Systems and JetBrains.gitignore.
Copy global settings to the project level
Global (IDE) settings are stored separately from projects. That is why, these settings are not shared through version control together with the project.
Some settings, however, can be copied to the project level. For example, you can create a copy of your code style configuration, inspection profiles, the list of classes and packages excluded from code completion and auto-import. If you do so, the IDE creates the corresponding configuration files in the .idea directory that you can share together with the project through VCS.
IntelliJ IDEA also provides several ways of sharing settings between different IDE instances. See Share IDE settings for details.