Envision
A visual programming IDE for object-oriented languages
|
The Envision project aims to develop an IDE for object-oriented languages that features a visual structured code editor and is used for large-scale software development.
Envision is an open-source project using the BSD license. The project is based on the Qt framework and is cross-platform. Envision was originally developed at ETH Zurich in the context of Dimitar Asenov's PhD studies.
To read about the motivation for building Envision and find out what are some of the key ideas for the IDE, please see the motivation page.
A short introduction that highlights some of the main concepts in Envision.
A demo of how the visualizations and interactions in Envision can be customized for embedded domain-specific languages.
A demo of useful ways to improve the readability of long methods with styled comments in Envision.
A demo of Envision's advanced version control features.
A demo of scripting Envision using its built-in command prompt, e.g. to perform a data-based refactoring.
Our CHI'16 talk presenting the results of a user study which shows that Envision's rich visualizations can substantially improve the understanding of code structure, compared to syntax highlighting.
Envision is still a proof of concept prototype and can not be used for programming yet. Nevertheless the current version illustrates some of the key visualization and interaction concepts for the IDE.
Envision currently runs on Linux and Windows. Development is done in Linux. There are two code branches on GitHub:
master
- contains an older, more stable version of the IDEdevelopment
- contains the latest changes and features. This branch is typically updated on a daily basis and might contain severe bugs. When the development
branch is "in a good state" it is merged into master
.NOTE: This developer documentation is continuously being updated with new content and is not yet fully complete. If there is something particular you would like to see here, let us know.
For an introduction to the project's design and organization for contributors, please check out the architecture of Envision.
Contributions to the project are welcome. Please visit the contribution guidelines for more details.
For building Envision from source see the compilation instructions.
For hints on running Envision see the "Try Envision" page.
To see a complete list of contributors check out the credits page.