Methods Missing From Autocomplete?

I’ve got a class that implements an interface. I have no compilation errors and all methods are marked as Public scope.
Autocomplete is missing several methods:

but I can manually type the method in, without autocomplete, and it seems to be ok:

I’m using 2018R1 IDE

Look it up in Feedback to see if it’s already been reported. If not, add it.

because your method AddColumn returns a boolean
so if you type

if db.

the autocomplete will work
however simply typing db. is not possible to be a boolean in a xojo sentence. so it does not autocomplete.

[quote=389208:@Jean-Yves Pochez]because your method AddColumn returns a boolean
so if you type

if db.

the autocomplete will work
however simply typing db. is not possible to be a boolean in a xojo sentence. so it does not autocomplete.[/quote]

Thank you.

I see. (I don’t agree with this convention)

if db.

shows ALL methods, including the ones that don’t return anything. It’s backwards to logic to me.

It may be nice to function this way

dim bool as boolean bool = db.[show me only methods and property that return boolean]
db. should show everything available and let me make the mistake

Is this they way the XOJO IDE has always behaved?

yup…

As long as I work with Xojo IDE I do see some autocomplete missings now and then. Sometimes you are just working hard to get your own code ready, so a lot of these glitches are just never reported.

If your method returns a value, you need to do something with it for it to show up in the autocomplete…

DIM key As Integer = db.KeyFromName("some name") if (db.IsKeyValid(key)) then

if you just try db.IsValidKey without using the return value, it won’t show up in the autocomplete (and really it shouldn’t)… If your method has no return, then this is a bug (I think there was a bug for methods not autocompleting when they’re in a module)…

shao sean is correct. I always am hanggry when I donot get the autocomplete because I start with the second part of the line and add the varName = part later… like:

first

 db.IsVal<tab> // No autocomplete, by design

then:

MyBool = 

This annoy me, but I understand why. this is a way to enforce the language: we have to write stuff in a given order, not adding stuff when I think I have to add it.

Why do I do that way ?
Usually because I do not recall the name of the variable, so I write as fast as I can what I have to write (before I forget it), then I search the variable and place it. Specific case.

If you do it the right way (target_variable = ClassName.Function), you do not even understand what trouble there can be here :frowning: or :wink: (depends on what category you are in).

[quote=389309:@Emile Schwarz]shao sean is correct. I always am hanggry when I donot get the autocomplete because I start with the second part of the line and add the varName = part later… like:

first

 db.IsVal<tab> // No autocomplete, by design

then:

MyBool = 

This annoy me, but I understand why. this is a way to enforce the language: we have to write stuff in a given order, not adding stuff when I think I have to add it.

Why do I do that way ?
Usually because I do not recall the name of the variable, so I write as fast as I can what I have to write (before I forget it), then I search the variable and place it. Specific case.

If you do it the right way (target_variable = ClassName.Function), you do not even understand what trouble there can be here :frowning: or :wink: (depends on what category you are in).[/quote]

If that’s the design, in my opinion, then I think the implementation not completed.

mybool = db.[shows list of ALL methods. ones that return objects and non bool types]

It’s backwards. If I know I need a boolean, I declare it, then it should only show me methods that return a boolean. or highlight them in the autocomplete

if you want to see what the class can do, or are learning a class, let db… show everything. Let the compiler give you an error if you make a mistake. Eventually you will learn the class. For me, it slows the learning cycle.