Free and open source add-on based development environment


As of July 2015, this project is no longer being developed. If you are interested in improving this program, and you need write access to the Git repository and to the other Sourceforge services (such as this website), please write me an email.


Note: this page is outdated. It will be updated as soon as possible.


UniversalIDE is based on an add-on system: each programming language is supported thanks to an add-on that contains informations about sintax highlighting and interfacing with parsers and\or compilers. Add-ons can simply be developed in the .NET Framework referencing "AddOnsLib.dll" in a DLL project and inheriting the "Language" and "CompiledApplicationType"\"ParsedApplicationType" classes.

An UniversalIDE project can be composed of many applications of different types: each application is built by the relative add-on, that calls the compiler or the parser. For example, the project of a program can contain the real program, its installer and its website.

UniversalIDE also supports different types of editors. The main is the code editor, that highlights the code using the instructions given in the add-on, but is also possible to build WYSIWYG editors inheriting the class "Editor".

The user interface

The UniversalIDE's user interface is simple and clean; it's divided in three parts: the toolbars, the opened documents and the file manager.

UniversalIDE GUI

The opened files are organized in tabs; with the toolbar and the menu you can manage the opened project and the opened files of its applications, and with the file manager you can browse the source files of the applications of the projects.
UniversalIDE's GUI is multilanguage, because it uses a library ("LangLib") to parse XML files containing the messages to display in the program. Actually the aviable languages are English and Italian.

How the projects are saved

Each UniversalIDE project is saved in a folder. This is the typical structure of a project:

The UIDP file is an XML serialized file that contains all the informations about the project; the src directory contains the source files of the applications, and the bin directory contains the compiled code (for parsed languages, will be generated a file that informs that the application can run directly from the code). LastBuildlog.txt contains the log of the last building of the project.