I write about Vala fairly often because I think it's a new and interesting part of the Gnome desktop. For those who don't know about Vala, it's a C# and Java-inspired language which pre-compiles to C and eventually becomes native binaries. This means that Vala programs don't need a VM and are suitable for embedded operations, etc. Vala supports the following interfaces
- Lambda expressions
- Type inference for local variables
- Non-null types
- Assisted memory management, and
- Exception handling
There have been a couple of popular IDEs for Vala, namely Valide and MonoDevelop, but Gnome's default text editor has been left out until now. Sure, it's had Vala highlighting, but that's not enough for a lot of people.
Welcome Valencia, a Vala plug-in for GEdit that offers the following features:
- no configuration needed: simply open a .vala file and browse its symbols immediately
- jump to definitions of classes, methods, fields, and variables
- build your project within gedit, with build output in a gedit pane
- double-click any build error to jump to the line where it occurred
- use the Run command to run your program, with output appearing in a gedit pane
To build Valencia, you'll need to have the following programs and libraries installed:Adam Dingle, the developer, says
On Ubuntu (and perhaps Debian), you can install the required build dependiencies like this:
- valac, the Vala compiler. We recommend using a relatively recent version, but you cannot build Valencia with valac 0.7.4 due to a Vala bug.
sudo apt-get install valac libvala-dev gedit-dev libgee-dev libvte-devYou can download the latest source release at valencia-0.1.0.tar.bz2 . Or check out the latest code (possibly unstable) at svn://svn.yorba.org/valencia/trunk. Then run make and make install. (Do not run sudo make install. Valencia installs in your ~/.gnome2/gedit directory, and if you install as root the permissions will be wrong.)
To enable Valencia in gedit, go to Edit->Preferences->Plugins and check the Valencia checkbox.
I know that there are a growing number of Vala IDEs and plugins available today. I believe that Valencia's particular strengths are its ease of use and its symbol browser; Valencia was designed to make it effortless to jump between symbols even in a large Vala program. Feedback, patches or code contributions are welcome!