Eclipse Code Completion?

So, there was a thread sort of about this but it was derailed for two pages about how amazing Visual Studio is. I like Visual Studio too, but I really want to stay in Mac OS (no virtual machine solutions please) for my next project. Is it possible to get Eclipse running with the mono plugin and somehow import the Unity libraries?

My coworker simply included the Unity DLL’s into Visual Studio and he got code completion! I thought drag drop easy was for Mac, not Windows! :wink:

Any guidance would be great.

Thanks,

David

Nevermind…I talked to the Mono guys at GDC and they said a new version of MonoDevelop is coming out this week. I followed this thread and got code completion.
http://forum.unity3d.com/viewtopic.php?t=9539&highlight=monodevelop

I hope that the new version of MonoDevelop comes out soon because this Alpha release is fugly! But hey, it works! :slight_smile:

Yes, it is possible using Emonic.

I am using it at the moment but will look forward to new version of MonoDevelop as the code completion in Emonic on Mac is far from perfect :frowning:

If you try Emonic out and get stuck, feel free to ask me by PM. Or check the answers I got on the Emonic forum

You probably knew this, but 2.0 is out.

Hmmm…so I’m a glutton for punishment and am trying to get Eclipse working.
I have installed Emonic, but any code completion during a .NET perspective gives a java.lang.NullPointerException inside of “Content Assist.” :sigh:

It works fine with the C++ perspective (I got the C/C++ version of Eclipse since I don’t use Java anymore)

@Tri3 - Did you run into this issue? This is failing for even the core .NET libs.

@thecreatrix - Yes. I have 2.0 Alpha. The latest latest non-alpha isn’t out yet with an installer, and the SVN source required far too much work to bother. Thanks though!

Yes, you need to set the setting as descriped in the picture.

But don’t expect perfect code completion even with it…

I am sure there is a workaround and the developer said it should work in Windows without problem. But I did not have the time to test any further :frowning:

EDIT: One thing that confused me was that Emonic uses NAnt

Ok, I got a sudden boost of energy to try fix this again. I googled this link that seems to have good information:
http://vanirsystems.com/danielsblog/2008/01/02/mac-os-x-mono-eclipse-and-virtuoso/

Hmmm…my settings match yours except I have
/emonicinformator.exe instead of /emonicinformator-2.0.exe

The box is also checked already…odd.
I’ll take a look at that link you sent too.

There are 2 versions of the informator in Emonic plugin. If you want to compile .NET Framework 2.0 code, you need to use the …-2.0 version.

I remember now that this was not the fix for the Nullpointer issue, though. Check if you have spaces in the path for the informator.

Also try in the terminal that you have nant and mono installed and accessible. (Type “which nant” in terminal).

Also in your nant build.xml check that you have line: " "

I think that was also by default 1.0…

Also check the thread in the Emonic forums.

I hope you have better luck than me and get it working smoothly :slight_smile:

Yes, I guess it was on by default.

For closure sake…So after several days of fighting this, I gave up and decided to run Visual Studio 2008 in a VM like everyone else. It works like a charm even on my Macbook Pro.
I was hoping to avoid this scenario, but VS is my favorite IDE anyway, so it’s not a huge deal.

:frowning: Too bad.

I dowloaded the source code for the emonicinformator (C#.NET) and the eclipse plugin (Java) and think I have some clue where to start debugging it.

Unfortunately my time is limited, so I don’t know how much effort I can put to this.

(My best guess so far is that having a “UnityEngine.Object” in the dll messes up the completion when the dll is parsed. There is a silent try catch block that just silently failes if something is wrong when the dll is parsed… My guess is based on some code like: “if (“string”…) System.String”, “if (“object”…) System.Object” type of logic in the completion code)