Projects

Last modified: 08 November 2024

Whatever you do in RubyMine, you do that in the context of a project. A project is an organizational unit that represents a complete software solution. It serves as a basis for coding assistance, bulk refactoring, coding style consistency, and so on.

A project in RubyMine is represented in the Directory Based Format. A root project directory contains the .idea directory, with the following files:

  • .iml file that describes the project structure.

  • workspace.xml file that contains your workspace preferences.

  • A number of xml files. Each xml file is responsible for its own set of settings, that can be recognized by its name: projectCodeStyle.xml, encodings.xml, vcs.xml, and so on.

    Thus, for example, adding a new run/debug configuration and changing encoding will affect two different xml files. This helps avoid merge conflicts when the project settings are stored in a version control system and modified by the different team members.

The .idea directory is not visible in the Project view of the Project tool window .

Once you have opened a folder in RubyMine, the .idea subfolder is added to it where RubyMine stores its internal configuration settings, for example, for the project code style or the version control system.