IDE Setup

Basically you can use any IDE that you want to develop libsoy/pysoy. Unfortunately there is nearly no support for Genie regarding IDEs, so syntax highlighting is the most you usually get, no auto-completion or similar more advanced stuff. As Genie is the python syntax version of vala, you can look out for IDEs that support vala. One of these is MonoDevelop and this is the one this article is based on.


MonoDevelop is pretty easy to install, however it doesn't yet support Environment Variables that you need for example when you followed the Development Environment article, so I fixed that in my fork here:

Building and running is then as easy as

make run

You can enable different packages to be compiled with the IDE, the ValaBinding sounds good, but doesn't help much with Genie so far, Gdb is necessary to be able to debug and the PyBinding might be handy for the python code you might develop.

Project Creation

When MonoDevelop is running, you can create a new Solution via File -> New -> Solution, where you choose Other -> Generic Project and set a proper name for the project and solution. For example you can have a solution containing three generic projects:

  • libsoy
  • pysoy
  • a project developed with pysoy, like a game

Once you added the projects, you can right click them and Add -> Add Files from Folder to add all the files you want to be able to see/edit in the IDE.

Project Configuration

A right click on the project choosing Options lets you configure the project build and run steps. For Build -> Custom Commands, you can setup the build commands, my configuration for libsoy for example is:

  • Build: ./waf build
  • After Build: ./waf install --destdir=../install
  • Clean: ./waf clean

All of them are running in the ${ProjectDir} which for my setup is the main directory of the mercurial libsoy clone.

Setting up running of the project is slightly more difficult, the Run -> General settings like Parameters and Environment Variables are ignored in a standard MonoDevelop installation. If you built my github fork from above, you can however setup the Environment Variables here. In Run -> Custom Commands you can then add an Execute command to run whatever demo, test or application you want to run, where in the Command field you can directly add the parameters.


If you have come this far, you're already ready to go! You can run the program with the debugger (F5) already and set breakpoints in the Genie and C Code without problems usually.