Game Development Community

DefineEngineMethod - no intellisense in VS2008

by elvince · in Torque 3D Professional · 08/12/2010 (5:47 pm) · 9 replies

Hi all,

With the new version of the DefineEngineMethod, VS2008 intelisense is no more working.

Is there any way to get it working?

it's really useful to get the definition of function when creating some console methods.

Thanks,

#1
08/12/2010 (5:50 pm)
Which part is not getting the intellisense? The macro itself or the code you are calling within the macro?
#2
08/12/2010 (6:04 pm)
let say:
DefineEngineMethod(SimCurl, setFailedCallback, void, (const char* FailedCallBack),,
	"Set the failed callback method.\n"
	"@param FailedCallBack failed method name\n")
{ 
	object->setFailedCallback( FailedCallBack ); 
}

DefineEngineMethod: intelisense will show the param
if I go over SimCurl param, I will have intelisense

Inside the {} I loose the intelisense.

thanks,
#3
08/12/2010 (6:15 pm)
Hmm...well, I don't remember ever having intellisense with VS2008 Express and the Console macros.

I'm trying with an old ConsoleMethod right now and it's not working for me, just the same as DefineEngineMethod. Having a hard time remembering if I ever had intellisense with past IDEs in these macros.
#4
08/12/2010 (6:33 pm)

Yep, IntelliSense dies there though I too think that's no different than it was before.

Tip: Visual Assist X
#5
08/13/2010 (6:19 am)
I'm sorry to say that, but the intellisense died with the Beta2 implementation.

I have both code in my vs2008 (not express) and it's working in ConsoleMethod and not in DefineEngineMethod.

Have you vs2008 not the express version to test? if not, you might get the free evaluation version with SP1, and I bet you will see the differences.

I have no other tool/plug-in installed than the regular one.

thanks,
#7
08/13/2010 (8:19 pm)
I will try to put a simple test that not C++ optimized but it's just for example.

ConsoleMethod(SimCurl, getEncodedUrl2,const char *,3,3,"")
{
	//Url Encode
	char *encodedURL =curl_easy_escape(object,argv[2],0);
	char *buffer = Con::getReturnBuffer(512);
	dStrcpy(buffer, encodedURL);
	curl_free(encodedURL);
	return buffer;
}
In that case, if you put you mouse over any of those function, variable intellisense is working.

If you do the same with DefineEngineMethod, you have no information.


For object->, it's working for ConsoleMethod. I did a test in the function just above. I put type "object->" before the return, and I was able to choose my function in the list.

If it helps, I can make video.
#9
08/14/2010 (9:43 am)
This is a screen shot of what I have:
elvince.free.fr/T3D/intellisense.png
I'm running with vs2008 SP1 from evaluation Iso of Microsoft.

I hope someone else will answer to see whether I was a lucky guy or we loose a functionality ^^