Author Topic: SlickEdit 2014 and Unity3D  (Read 4243 times)

mrfish

  • Junior Community Member
  • Posts: 7
  • Hero Points: 0
SlickEdit 2014 and Unity3D
« on: January 31, 2015, 12:25:29 PM »
SlickEdit 2014 does not seem to be tagging the Unity files properly. Autocomplete isn't picking up many parts of the SDK, some it does, others not at all. Which makes the editor pretty unusable.

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 6934
  • Hero Points: 531
Re: SlickEdit 2014 and Unity3D
« Reply #1 on: February 01, 2015, 10:00:54 PM »
Please post the platform and version of unity you are using. Also post the symbols that don't work.

Thanks

mreaves

  • Community Member
  • Posts: 13
  • Hero Points: 0
Re: SlickEdit 2014 and Unity3D
« Reply #2 on: February 02, 2015, 06:25:40 AM »
This is on...

Mac OSX running Yosemite.
Slickedit 16.0.1.1 (the latest one).
Unity 4.6.x (I am running patch 5, but 4.6.x in general doesn't work properly).

Basically anything in UnityEngine.UI is problematic. For example Canvas is returning some auto complete information, but not all of it, it is missing many members.

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 6934
  • Hero Points: 531
Re: SlickEdit 2014 and Unity3D
« Reply #3 on: February 02, 2015, 05:04:17 PM »
I definitely found one problem (easily fixed). The mono library isn't being tagged at all. Fixing this won't effect Unity specific symbols though.

Under the covers, SlickEdit is automatically building and extension/language specific tag file for you. UnityEngine.dll and UnityEditor.dll are the only DLL's being added to the tag file. Go to Tools>"Tag Files...". Under "C#" tag files you will see the unity.vtg tag file with these two DLL's listed. SlickEdit can read symbols out of C# DLLs just like it can parse symbols from source files.

Use the "Symbols" tool window to browse the symbols in the "unity.vtg" tag file. If a symbol is not present, it won't be possible for SlickEdit to auto complete that symbol.

Using the Symbols tool window, I couldn't find any classes specifically named UnityEngine.UI. I did find some classes that are named something like UnityEngine.UIxxxx (like UICharInfo,UILineInfo,UIVertex). The UnityEngine.Canvas class appears to be tagged. You'll need to be more specific about indicating what symbols aren't listed and post some sample source accessing UnityEngine.Canvas. Again, if a member of that class is missing, there's no way auto-complete will list the symbol.

mrfish

  • Junior Community Member
  • Posts: 7
  • Hero Points: 0
Re: SlickEdit 2014 and Unity3D
« Reply #4 on: February 02, 2015, 05:45:46 PM »
Just simply typing...

Image will not find the Unity Image class, and therefore no autocomplete can be done on this.

Mono happily finds this and autocomplete works in Mono.

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 6934
  • Hero Points: 531
Re: SlickEdit 2014 and Unity3D
« Reply #5 on: February 02, 2015, 07:09:38 PM »
Please use the "Symbols" tool window to browse the symbols in the "unity.vtg" tag file. In order for me to diagnose the problem, I need to know if some of the symbols are already present in "unity.vtg".

It will help me if you only post information about fully qualified class names. What is the fully qualified class name for Image?

Just simply typing what? A small snippet of code would be helpful. Thanks

mrfish

  • Junior Community Member
  • Posts: 7
  • Hero Points: 0
Re: SlickEdit 2014 and Unity3D
« Reply #6 on: February 02, 2015, 07:57:53 PM »
See below, I've had to fully type in UnityEngine.UI.Image img as it didn't autocomplete anything on UnityEngine.UI. Because of that img doesn't bring up any autocomplete information at all.

Do this in Mono brings up all the members of UnityEngine.UI including Image, and from there in Mono img brings the correct members.

//---------------------------------

using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class Test : MonoBehaviour
{
   void Start ()
   {
      UnityEngine.UI.Image img;
   }
}

//-----------------------

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 6934
  • Hero Points: 531
Re: SlickEdit 2014 and Unity3D
« Reply #7 on: February 02, 2015, 09:01:51 PM »
Thanks. UnityEngine.UI is an actual namespace. When SlickEdit scans UnityEngine.dll there are no symbols found in the namespace UnityEngine.UI.

I another DLL "UnityEngine.UI.dll" located under /Applications/Unity/Unity.app/UnityExtension/Unity/GUISystem/4.6.2/ which has the symbols in UnityEngine.UI. We just need to add this .dll to unity.vtg and all these symbols will show up.

This will be fixed in 19.0.2. You will need to delete your "unity.vtg" using the Tag Files dialog (Tools>Tag Files...) so unity.vtg will be rebuilt with the additional .dll.

You can get these symbols now but you'll need to create your own additional tag file and add it to the C# language using the Tag Files dialog. The easiest way to do this on Mac is to add "*.dll" starting from /Applications/Unity/Unity.app/UnityExtension/Unity/GUISystem/4.6.2/.

Thanks for posting this