I am currently working on a small but very radical IDE for my custom language. What I'm trying to do is to create an object oriented language for note taking in classrooms (or note taking in general). For example, in Geography class, I can make an object called Sphere and then create sub objects called Lithosphere, biosphere...
I already have the object language syntax marking done, along with code suggestion, I can also reference these objects in normal typing. Oh and since this is only a scripting language, space between variables are permitted
Here is a simple screenshot:

While the development of this IDE is going smoothly, I still haven't got to the hard part yet (implementing images, sounds and camera for taking notes ...)
If you look close enough, you'll see small white rectangles, that would be my attempt to give it a moving background, like the live wallpaper on Androids. Its based on a dynamic background library that i wrote which is basically a small particle system. I wanted to style my IDE with themes such as falling snow when its Christmas, flying bats on Halloween... I have a lot more themes too (aquarium, sky with birds and clouds, ...). I try to make the background dark and move slowly so as to not distract the user.
What I am asking is, when you guys make an IDE, what were the hardest things that you have encountered, and how did you solve them?
Here are some links if you wanna take a look, I use Eclipse.
Executable Jar:
https://www.dropbox.com/s/gpp41kfjbsa6xuv/Ellowyn.jar?dl=0Source:
https://www.dropbox.com/s/etih84ozb13r577/Ellowyn%2010-22%2011-45pm.zip?dl=0