I’ve been wondering about whether or not it might be possible to write a true Unity-specific open source IDE, I’ve heard that: AssetDatabase.Refresh()
Can make Unity compile all of it’s scripts, but I don’t know how you would get feedback on compiler errors to report to the user without going back to Unity just to check the Unity console for error messages. Is there some way I can re-direct Unity console output, or perhaps read from it directly? I’ve heard that Unity logs to a file when running outside the editor, if I could make it log to a file while the editor is compiling, I could read output from that file.
I’m also curious if there’s any way I can hack or modify the version of mono-develop that ships with Unity, since it already seems well integrated with Unity, the only reason I don’t use it is because it seems to lack some very basic functionality that I refuse to work without, such as refactoring commands (this issue might be boo specific).
If all else fails I suppose one could embed their IDE right into the editor as an editor extension and use the Unity console as the compiler output window… Actually an editor embedded IDE does sound kinda cool… Where did I put my copy of that open source #Develop repository…
first: thats quite a task to develop an ide from scratch. there is already an open source ide (monodevelop) so why not improve this? afaik you can develop “plugins” for monodevelop which could add the missing functionality.
second: there is already an in editor ide. search assetstore for “UnIDE”.
third: it is probably a waste of time to develop such timeconsuming tools as by the time you are ready (if ever) there might be way better options available. fe unity may include a new monodev version which contains your missing tools.
fourth: spend the time on earning some money and purchase a visual studio, unity vs and resharper licence (or get them cheap if you are student). this way you have a working and tested solution in some weeks what you cant achieve by doing it yourself imo (opportunity cost).
If I were to do this I would never go from scratch, as I indicated near the end of my post, I would more likely take an existing code editor and try to port it, if the core thinking logic is properly separated from the graphical interface, this should not be too hard to achieve, just very time consuming to duplicate the entire interface.
I searched UnIDE, it is not open source freeware and some features only work for UnityScript and C#, I’m a boo developer.
Mono develop might someday be updated to have my missing functionality, then again it might not. I’m not going to wait around forever.
I had no idea it was possible to integrate visual studio into Unity, as a university computer science student I actually have free access to visual studio 2012 Ultimate, and it’s already on my system. However a bit of internet searching reveals the last time a boo extension for visual studio was worked on was 2 years ago, and that was for visual studio 2010, recent comments seem to indicate it no longer works. Not to mention unity vs is another payed for option.
At the end of the day there just aren’t very many good IDEs for someone that wants to develop in boo, the best I was able to find was #develop, and since it’s written in c#, a language supported by Unity, one could in theory, take the guts of it, and drop it into Unity, and with some tweaking it should compile 
I found myself needing to look at the Editor log files in order to debug a problem with an editor extension I’m working on, and it looks like this file does indeed log compiler output, it gives error messages/codes along with class file names and line numbers, so by writing a parser for it, one could make a mod for a regular out-of-editor compiler that tells Unity to compile with AssetDatabase.Refresh()
And then reads compiler output from the editor log file, and sticks it in the compiler output window. Sweet
.