About
Encode is an integrated software development environment (IDE) for Linux and UNIX systems, available under the GNU Lesser General Public License. It is implemented in the Python programming language using the GTK+ user interface toolkit. Editing components based on Vim and Emacs are available to the user.
Development was started in June 2005 and version 0.1 was released in November. The current version implements the basic software architecture, but lacks some planned features.
New developments can be followed via the Project News. RSS
Design
- Primary design goal is simplicity, at the implementation and the user interface level.
-
The focus should be on the following kinds of workflows:
- edit source code
- build the code
- test the program
- go back to 1.
- edit a LaTeX document
- generate a PDF
- preview the PDF
- go back to 1.
- Sometimes you need to access arbitrary files, so the separation to projects and other directories should be avoided.
Features
Encode consists of an environment window that is split into three areas and includes a menu bar. Views can be attached to one of the three locations, either manually by the user or as a response to an event. Two views are displayed by default: the project tree and the Vim editor. Other views include build output window, terminal emulator and nested X server (Xephyr). Additional views can be implemented in extension modules.
The project tree is the most central component. It includes functionality for browsing source trees, opening files and building programs. Planned features include:
- Files and directories can be created, renamed, moved and deleted in co-operation with a version control system (such as darcs).
- You can manage any directory trees without having to create special project configuration files (build options can be defined using optional configuration files).
- External build tools (such as SCons) are used for building, and special build requirements can be taken into account. For example, the Scratchbox environment can be used to cross-compile software and execute it while using the Xephyr view as the target display.
Editors
Vim
Vim is one of the (two) most powerful text editors around. However, it has a steep learning curve and many people simply don't like it. But thanks to its extensibility, there are alternative ways to use it:
- Vim can be started in an "easy" mode (evim)
- Cream is an alternative, easy to use front-end for Vim
- Vimacs provides Emacs-like keybindings for Vim
You can configure Encode to use an alternative command (such as evim or cream) as long as it is compatible with GVim. To use add-on scripts (such as vimacs), you don't need to change anything on Encode's side to take advantage of them.
GNU Emacs
Emacs is one of the (two) most powerful text editors around. Encode's Emacs support is currently very experimental in the sense that a pre-release version with non-standard patches is required.