www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ide - No intellisense in latest VisualD

reply "Frustrated" <c1514843 drdrb.com> writes:
There is absolutely no intellisense in latest Visual D for 
members.

I have an interface in a module and reference it in main(). When 
I try to access a member from it using either ctrl-space after 
the . nothing shows up. If I change to show when typing the ., 
nothing shows up.

Is intellisense broke, or does visual D even show it.

Note that if I type ctrl-space after an identifier something does 
pop up but it's just the name of the id.

if I put a class in the main project then type . after it, a list 
of all the local variables will show up BUT not the members(seems 
like there is an issue with the "level" of scope.

e.g.,

class a { int x; }

void main()
{
    auto a = new a;
    auto b = new a;
    a.    // shows a and b after typing . but not x like it should
}
Jan 09 2014
next sibling parent "evilrat" <evilrat666 gmail.com> writes:
On Thursday, 9 January 2014 at 11:40:51 UTC, Frustrated wrote:
 There is absolutely no intellisense in latest Visual D for 
 members.

 I have an interface in a module and reference it in main(). 
 When I try to access a member from it using either ctrl-space 
 after the . nothing shows up. If I change to show when typing 
 the ., nothing shows up.

 Is intellisense broke, or does visual D even show it.

 Note that if I type ctrl-space after an identifier something 
 does pop up but it's just the name of the id.

 if I put a class in the main project then type . after it, a 
 list of all the local variables will show up BUT not the 
 members(seems like there is an issue with the "level" of scope.

 e.g.,

 class a { int x; }

 void main()
 {
    auto a = new a;
    auto b = new a;
    a.    // shows a and b after typing . but not x like it 
 should
 }
i'm using 0.3.38beta2 and it works almost as visual studio does for C++ if it doesn't work for you try to switch to Alexander Bothe's parser in settings. i hope x64 DLL building gets fixed as well.
Jan 10 2014
prev sibling parent reply Rainer Schuetze <r.sagitario gmx.de> writes:
On 09.01.2014 12:40, Frustrated wrote:
 There is absolutely no intellisense in latest Visual D for members.

 I have an interface in a module and reference it in main(). When I try
 to access a member from it using either ctrl-space after the . nothing
 shows up. If I change to show when typing the ., nothing shows up.

 Is intellisense broke, or does visual D even show it.

 Note that if I type ctrl-space after an identifier something does pop up
 but it's just the name of the id.

 if I put a class in the main project then type . after it, a list of all
 the local variables will show up BUT not the members(seems like there is
 an issue with the "level" of scope.

 e.g.,

 class a { int x; }

 void main()
 {
     auto a = new a;
     auto b = new a;
     a.    // shows a and b after typing . but not x like it should
 }
I guess you are using the Visual D semantic engine. You are redefining "a" inside main, making "b = new a" invalid code. This probably confuses the semantic engine. I also recommend switching to Alexanders engine in the intellisense options. It seems though that the latest version does not filter out UFCS calls if the option is unchecked.
Jan 11 2014
next sibling parent "evilrat" <evilrat666 gmail.com> writes:
On Saturday, 11 January 2014 at 08:26:59 UTC, Rainer Schuetze 
wrote:
 On 09.01.2014 12:40, Frustrated wrote:
 There is absolutely no intellisense in latest Visual D for 
 members.

 I have an interface in a module and reference it in main(). 
 When I try
 to access a member from it using either ctrl-space after the . 
 nothing
 shows up. If I change to show when typing the ., nothing shows 
 up.

 Is intellisense broke, or does visual D even show it.

 Note that if I type ctrl-space after an identifier something 
 does pop up
 but it's just the name of the id.

 if I put a class in the main project then type . after it, a 
 list of all
 the local variables will show up BUT not the members(seems 
 like there is
 an issue with the "level" of scope.

 e.g.,

 class a { int x; }

 void main()
 {
    auto a = new a;
    auto b = new a;
    a.    // shows a and b after typing . but not x like it 
 should
 }
I guess you are using the Visual D semantic engine. You are redefining "a" inside main, making "b = new a" invalid code. This probably confuses the semantic engine. I also recommend switching to Alexanders engine in the intellisense options. It seems though that the latest version does not filter out UFCS calls if the option is unchecked.
can you tell us something about broken x64 dll builds? :)
Jan 11 2014
prev sibling parent reply "Frustrated" <c1514843 drdrb.com> writes:
On Saturday, 11 January 2014 at 08:26:59 UTC, Rainer Schuetze
wrote:
 On 09.01.2014 12:40, Frustrated wrote:
 There is absolutely no intellisense in latest Visual D for 
 members.

 I have an interface in a module and reference it in main(). 
 When I try
 to access a member from it using either ctrl-space after the . 
 nothing
 shows up. If I change to show when typing the ., nothing shows 
 up.

 Is intellisense broke, or does visual D even show it.

 Note that if I type ctrl-space after an identifier something 
 does pop up
 but it's just the name of the id.

 if I put a class in the main project then type . after it, a 
 list of all
 the local variables will show up BUT not the members(seems 
 like there is
 an issue with the "level" of scope.

 e.g.,

 class a { int x; }

 void main()
 {
    auto a = new a;
    auto b = new a;
    a.    // shows a and b after typing . but not x like it 
 should
 }
I guess you are using the Visual D semantic engine. You are redefining "a" inside main, making "b = new a" invalid code. This probably confuses the semantic engine. I also recommend switching to Alexanders engine in the intellisense options. It seems though that the latest version does not filter out UFCS calls if the option is unchecked.
Doesn't matter, the above was just an example with a typo. I've tried Alexanders engine and same problem but it shows templates and some build in functions the list. None of the members I have created work. It is possible it is some weird issue with my setup but it does not do what is expected. It might be something with demangling? I had issues getting it to build in the first place and maybe I hacked it up that makes it work but only partially.
Jan 22 2014
parent reply "Frustrated" <c1514843 drdrb.com> writes:
After reinstalling it seems to work for local classes but doesn't
seem to work for interfaces and/or classes in modules that are
heavily nested.

Basically I have a bunch of modules but I get no correct 
information. VisualD returns things like A and e for stuff in the 
class. There is nothing named A and e in the class though.

It's also possible because I'm using some mixins to generate 
stuff in the class. Maybe the mixins are not being expanded first.
Jan 22 2014
parent reply "Frustrated" <c1514843 drdrb.com> writes:
So, when I move the class into the main module, and remove the
mixin(by hard coding) everything works as expected.

When I replace the hard code with the mixin again, same problem.

So basically generating code using mixins are not processed
properly by intellisense.

My guess is that visual D needs to expand the types before
parsing them so that mixins will be handled properly. (I have
mixin analysis enabled)
Jan 22 2014
parent reply "Frustrated" <c1514843 drdrb.com> writes:
I installed Xamarin Studio and MonoD. Same problem. Looks like
it's an issue with Bothe's code.
Jan 23 2014
parent "Frustrated" <c1514843 drdrb.com> writes:
ok, it seems that it doesn't work with ctfe's generating the mix.
I guess Bothe's analysis doesn't evaluate the ctfe. using a mixin
works by hard coding the string.


string inty(alias a)() { return "int y;"; }

class A
{
	mixin("int x;");
	mixin(inty!("...")); // does not show up in intellisense
}
Jan 23 2014