I'm using ice from zeroc in many of my projects these days. Ice stands for the Internet Communications Engine. To put it simply it's an object-oriented a communication framework like CORBA or COM+, where client programs can access server-modules on the same machine or anywehere on the Internet. I use it because it's mature, free and available on many platforms and for many languages.

Ice is however not very well known yet, and the support for the ice definition language is poor in other projects. Doxygen woun't recognize them, and Visual Studio 2003 .NET (my preferred IDE) will not syntax highlight the interface definitions.

It is however easy to make VS turn on syntax highlighting; just add a few registry entries and you're done.

  • Close all instances of Visual Studio
  • Open regedit and go to the
    "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.1\Languages\File Extensions" key.
  • Add a new key with name ".ice"
  • Copy the exact values from the ".idl" keys "(Standard)" and "IDLFile values.
  • Open a project with an .ice file, and you have syntax highlighting working for editing and printing :)