www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ide - Visual D not showing structs and not showing intellisense for certain

reply Johnson Jones <JJ Dynomite.com> writes:
in my code I have

auto mainWindow = 
(cast(ApplicationWindow)mainBuilder.getObject("MainWindow"));
auto mainPaned = (cast(Paned)mainBuilder.getObject("MainPaned"));

When I try intellisense: 'mainWindow.' a list shows up(quite 
large unfortunately but better than nothing).

When I do the same for mainPaned, nothing shows up(well, the 
default Object methods).

I'm not quite sure why. Not sure if the json does not have that 
information(it should) and it definitely has paned stuff, but 
something is wrong.

Ok, I just changed the variable from local to global and it 
shows. My mainWindow was actually a global!

So, it seems either to be some issue with auto. Let me make it 
explicit: No go! for some reason locals are not working with 
intellisense in this case ;/ Making them globals allows me to 
view it.

if I sort of alias them they work:

e.g.,

auto mainlocalPaned = mainPaned;

then mainlocalPaned can access intellisense. (when mainPaned is a 
global).

It seems to be some bug in visual D interpreting the locals(when 
they are defined directly. Maybe it doesn't pick up on the cast 
and doesn't know the type? (see's auto but for some reason 
misinterprets the type?)

Strange bug ;/


maybe related to this one also:

mainWindow.addOnConfigure(delegate(GdkEventConfigure* e, Widget w)
										{
																					return true;
										});

e and w do not list any information in the watch, locals, or 
auto. I think I mentioned this one before.




Basically it just shows the address or something like

[gtk.Paned.Paned]	D0006: Error: Type resolve failed	

or sometimes I get e = {}

and I cannot expand {} in to list e's values. (I think this 
happens when the variable is a struct)
Aug 05
parent reply Johnson Jones <JJ Dynomite.com> writes:
I noticed that for another local variable not showing the 
members, it shows something like

static main..value init

for the init member. Maybe the double dot is a bug and doesn't 
work with the the other members. It's listed when you do do a 
single dot, the intellisense box pops up then the grey side box 
pops up similar to the definitions list.
Aug 05
parent reply Johnson Jones <JJ Dynomite.com> writes:
On Saturday, 5 August 2017 at 14:44:56 UTC, Johnson Jones wrote:
 I noticed that for another local variable not showing the 
 members, it shows something like

 static main..value init

 for the init member. Maybe the double dot is a bug and doesn't 
 work with the the other members. It's listed when you do do a 
 single dot, the intellisense box pops up then the grey side box 
 pops up similar to the definitions list.
Also, when I do something like gdk.Window. I get a list of everything. Should the intellisense not simply return what is inside gtk.Window?
Aug 05
parent Johnson Jones <JJ Dynomite.com> writes:
On Saturday, 5 August 2017 at 23:39:57 UTC, Johnson Jones wrote:
 On Saturday, 5 August 2017 at 14:44:56 UTC, Johnson Jones wrote:
 I noticed that for another local variable not showing the 
 members, it shows something like

 static main..value init

 for the init member. Maybe the double dot is a bug and doesn't 
 work with the the other members. It's listed when you do do a 
 single dot, the intellisense box pops up then the grey side 
 box pops up similar to the definitions list.
Also, when I do something like gdk.Window. I get a list of everything. Should the intellisense not simply return what is inside gtk.Window?
In fact, it seems to do this with many variables. Just throws everything at it. I have a global class and when I use intellisense on it, it gives me everything, not just whats in the class.
Aug 05