UPDATE Oct 28 2011
So, I have updated Unity to the newest minor version and this problem has returned. The CodeCompletionData folder listed below, while correctly referencing all the UnityEngine and UnityEditor classes for intellisense / autocomplete, I am once again missing all the basic “System” files from native C#.
EG:
using System.Collections;
using System.Collections.Generic;
// .....
private List<Foo> someFoo; // List will not autocomplete and no data is available
// .....
Sys // <- Unity MonoDevelop autocompletes this as "SystemInfo" or "SystemLanguage" but just plain "System" is not available.
And again, if I delete all my old MonoDevelop-Unity preferences (and indeed, reinstall Unity from scratch) and allow them to autopopulate I lose all my intellisense including the UnityEngine and UnityEditor classes.
I suppose I could yet again grab the latest files from my coleague if he’s already successfully updated his Unity install, but that’s no way to solve this issue and is not sustainable.
ORIGINAL QUESTION
Has anyone encountered any problems with the autocomplete feature of the MonoDevelop install that comes with Unity 3.3 on Mac 10.6.7? For reference, it’s a version of MonoDevelop 2.4.2.
The autocomplete / intellisense won’t actually show any code hints at all except for local variables/methods and static variables/methods that are in the current Class’s definition.
By comparison, the “real” version of MonoDevelop has perfectly working autocomplete, but it’s not usable by Unity in any real way, so I’m stuck with the broken Unity version.
How can I solve this problem? Working intellisense is very important to me.
EDIT:
After trying kdubb’s solution below, I’ve found that:
- MonoDevelop will incorrectly re-generate the pidb files if they don’t exist.
- MonoDevelop will incorrectly re-generate the entire MonoDevelop-Unity folder if it doesn’t exist.
- Replacing the MonoDevelop-Unity .pidb files with the ones found in MonoDevelop will give me all the Unity-specific class definitions, but it will NOT give me any definitions from System or its subpackages.
- Replacing the entire MonoDevelop-Unity directory with the MonoDevelop directory breaks Unity’s MonoDevelop. It fails to open.