Thread overview | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
January 09, 2014 No intellisense in latest VisualD | ||||
---|---|---|---|---|
| ||||
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 } |
January 11, 2014 Re: No intellisense in latest VisualD | ||||
---|---|---|---|---|
| ||||
Posted in reply to Frustrated | 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.
|
January 11, 2014 Re: No intellisense in latest VisualD | ||||
---|---|---|---|---|
| ||||
Posted in reply to Frustrated |
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.
|
January 11, 2014 Re: No intellisense in latest VisualD | ||||
---|---|---|---|---|
| ||||
Posted in reply to Rainer Schuetze | 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? :)
|
January 23, 2014 Re: No intellisense in latest VisualD | ||||
---|---|---|---|---|
| ||||
Posted in reply to Rainer Schuetze | 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.
|
January 23, 2014 Re: No intellisense in latest VisualD | ||||
---|---|---|---|---|
| ||||
Posted in reply to Frustrated | 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. |
January 23, 2014 Re: No intellisense in latest VisualD | ||||
---|---|---|---|---|
| ||||
Posted in reply to Frustrated | 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) |
January 23, 2014 Re: No intellisense in latest VisualD | ||||
---|---|---|---|---|
| ||||
Posted in reply to Frustrated | I installed Xamarin Studio and MonoD. Same problem. Looks like it's an issue with Bothe's code. |
January 23, 2014 Re: No intellisense in latest VisualD | ||||
---|---|---|---|---|
| ||||
Posted in reply to Frustrated | 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 } |
Copyright © 1999-2021 by the D Language Foundation