Introduction

Description

Emacs-IDE windows layout with eide-light color theme

Emacs-IDE (eide) is a package for Emacs that provides IDE features (Integrated Development Environment).

Although most of these features are already available in Emacs, the purpose of this package is to integrate them into a user-friendly interface, with dedicated windows (source files, menu, and ouput), convenient keyboard shortcuts, and project management.

It is suitable for almost all languages (as long as they are supported by Ctags). Cscope provides additional browsing facility for C/C++ files.

Features

Windows layout

Emacs-IDE uses dedicated windows for specific content:

Source window is used to display files. It can be split into several windows.

Menu window provides the list of open files (with version control modified status) and their symbols.

Workspaces and projects

A workspace is a collection of projects.

A project is defined by its root directory. When you create a project, tags and cscope list of files (if any C/C++ file) are built for the whole source tree. In project configuration, you can define commands for compilation, execution, and debug. The list of open files is saved on exit and restored when you open the project again.

F1-F12 keys provide shortcuts for search (tags, cscope, and grep), compilation, and execution. These shorcuts can be customized or just disabled.

You can create filters to exclude files and directories for all search functions (tags, cscope, and grep).

Windows and clicks

Over a source window, it hides/shows IDE windows ("menu" and "output").

Over menu window, it displays a menu with project oriented commands. Over a directory or a filename, it displays a menu with file oriented commands.

Over output window, it displays the list of existing temporary buffers in order to switch to one of them. Shift + right click displays the same list but for deletion purpose.

Configuration

Options provided in customization

Emacs-IDE provides some options in customization. To edit them, click on right button over "menu" window, and select "Customize" in popup menu.
At top level, you will find categories, and one specific option - called "Override Emacs settings" - that can globally disable all options in "Emacs settings" category, if disabled.

Cscope update policy, in order to add an automatic mode that will update the database only when a file is modified in Emacs.

To save your settings, click on "Save for future sessions", and click on right
button to exit customization.

Options provided by themes

Emacs-IDE provides two color themes (eide-dark and eide-light).

It also provides themes to customize some standard Emacs settings. I would recommend enabling the themes to Emacs beginners, because they enable useful options for coding and disable a few disturbing options. This is very subjective of course, but I believe that these settings can be useful for anyone. Advanced Emacs users may prefer to use their own customization.

The settings provided by these themes used to be enabled by default in previous Emacs-IDE releases (in "Emacs settings" category).
Now you have to enable these themes: click on right button over "menu" window,
and select "Customize themes" in popup menu.
You can add one of the color themes (eide-dark or eide-light), and any of the
following themes:

eide-browsing

eide-coding

eide-display

eide-settings

Workspaces and projects

The directory from which Emacs is launched stands as the root directory. You can change it during the session: click on right button over "menu" window, and select "Change root directory" in popup menu.

To create a project, select the directory of the source code tree as the root directory. Click on right button over "menu" window, and select "Create a project in this directory". The project is added to your workspace.

To open your project in future sessions, click on right button over "menu" window, select "Display projects list", and select your project.

If you press Alt-enter to show the menu window, it forces the cursor focus on "menu" window. You can select a file with enter, and fold/unfold symbols with space. Press Alt-enter again to hide the "menu" window and force the focus on source file again.

Download

Emacs-IDE is released as a compressed archive (.tar.xz) of the source code. See INSTALL.ad file for installation instructions, and README.ad file for quick start instructions.

Important notice: Since version 2.0.0, Emacs-IDE requires Emacs 24. For older versions of Emacs, you should use version 1.12. The compatibility has not been maintained to avoid having to support different behaviours - in particular regarding windows management - for multiple versions. It also made sense to require Emacs 24 when distributing a package, since the feature is part of Emacs since version 24.

Create projects list and add the possibility to switch to another project

Create workspaces to manage different projects lists

Use projects list to select another project for comparison

Enable F4 (global grep) even if there is no current project

New options:

Use a specific background color in menu (default behaviour)

Insert a blank line between directories in menu (used to be the default behaviour)

Start with maximized frame (now the default behaviour)

Bug fixes:

Some C/C++ symbols are not present in menu

Frame size and position are changed at startup

Git status is not shown at startup (F5 is necessary to update status)

DOS/Unix conversions fail (dos2unix/unix2dos must be replaced with fromdos/todos)

Warning: The projects that you have created with previous versions will not automatically appear in your workspace. You have to open them first (either run Emacs from project root directory, or use 'Change root directory' command in menu).

Use of Emacs customization (instead of ~/.emacs-ide.cfg) for configuration

Git support (status, diff, checkout)

Local installation

New options:

Show menu bar

Show tool bar

Scroll bar position

Cscope database update (always, never, or auto)

Indentation offset

Indentation mode (spaces or tabs)

Default tab width

Bug fixes:

Unwanted scrolling when clicking in the margin (because of scroll-margin)

Compilation output doesn't scroll

Warning: Configuration is not migrated from previous versions. If you have modified some options, you will have to do it again with the new configuration system (customization). Old configuration file (~/.emacs-ide.cfg) is not deleted: you can check the values.

Source code

The master branch requires Emacs 24. For older versions of Emacs, you should use the 1.12.x branch. Some bug fixes and enhancements are backported, but there won't be any official release on this branch.