プロジェクトとは、1つ以上のプログラムを制作するために使用されるファイル群のことです。プロジェクトに属するファイルは通常、ディレクトリの階層構造で管理されており、その階層の最上位ディレクトリはプロジェクトルートと呼ばれます。
あるディレクトリが何らかのプロジェクトのルートであるかどうかは、プロジェクトバックエンドと呼ばれるプロジェクト固有のインフラストラクチャによって決定されます。Emacsは現在、このようなバックエンドを2種類サポートしています。一つはVC認識型(バージョン管理を参照)で、VCSリポジトリをプロジェクトとして扱います。もう一つはEDE(Emacs開発環境を参照)です。将来的には、さらに多様な種類のプロジェクトをサポートできるよう拡張される予定です。
どのファイルがプロジェクトに属し、どのファイルが属さないかは、プロジェクトバックエンドによっても決定されます。例えば、VC対応バックエンドでは、「無視」ファイル(バージョン管理ファイルの無視を参照)をプロジェクトの一部とはみなしません。説明および関連オプションについては、後述の項目を参照してください。
このユーザーオプションが nil 以外の場合、Emacs
はモードラインに現在のプロジェクト名(あれば)を表示します。プロジェクト名の mouse-1
をクリックすると、プロジェクト関連コマンドのメニューがポップアップ表示されます。デフォルト値は nil です。値が non-remote の場合、Emacs
はローカルファイルに対してのみプロジェクト名を表示します。これは、ネットワーク遅延によりリモートシステム上のプロジェクトのモードライン更新に時間がかかる場合に便利です。