Next: Change Log, Previous: Version Control, Up: Maintaining [Contents][Index]
A project is a collection of files used for producing one or more programs. Files that belong to a project are typically stored in a hierarchy of directories; the top-level directory of the hierarchy is known as the project root.
Whether a given directory is a root of some project is determined by the project-specific infrastructure, known as project backend. Emacs currently supports two such backends: VC-aware (see Version Control), whereby a VCS repository is considered a project; and EDE (see EDE). This is expected to be extended in the future to support additional types of projects.
Which files do or don’t belong to a project is also determined by the project backend. For example, the VC-aware backend doesn’t consider “ignored” files (see VC Ignore) to be part of the project. See its entry below for description and related options.
If this user option is non-nil, Emacs displays the name of the
current project (if any) on the mode line; clicking mouse-1 on
the project name pops up the menu with the project-related commands.
The default value is nil. If the value is non-remote,
Emacs will show the name of the project only for local files; this comes
in handy when updating the mode line for projects on remote systems is
slow due to network latencies.
| • Project File Commands | Commands for handling project files. | |
| • Project Buffer Commands | Commands for handling project buffers. | |
| • Switching Projects | Switching between projects. | |
| • Managing Projects | Managing the project list file. | |
| • VC-Aware Project Backend | Default project backend. |
Next: Change Log, Previous: Version Control, Up: Maintaining [Contents][Index]