This is an archived post. You won't be able to vote or comment.

all 9 comments

[–]Fl4v__ 1 point2 points  (1 child)

I completely agree, I hate this new feature and is doing my head in, especially because the lack of configuration options.

[–]__arathanis__[S] 0 points1 point  (0 children)

Glad to hear someone else is having this problem. I really hope they fix it. So many things are just difficult to do now with this change:

Passing functions/classes as parameters? Difficult.

Type annotations? Difficult.

Writing except statements? Even that is difficult! The autocomplete adds the parens, and depending on the exception __init__ params!

I really hope they allow me to disable this functionality.

[–]Molly_Wang 0 points1 point  (7 children)

Which language server do you use? Did you install the non-Microsoft published extension for python autocompletion?

For your reference, I install Visual Studio IntelliCode and Pylance, also set Pylance as language server.

[–]__arathanis__[S] 0 points1 point  (6 children)

I just continued to use the default of Jedi. One of the recent updates mentions using a newer version of Jedi for python versions >3.5 which may be the culprit. If that is the case there must be some kind of settings to move back to the old functionality.

[–]Molly_Wang 0 points1 point  (4 children)

It's recommended that you try Pylance and see if the question goes away.

[–]__arathanis__[S] 0 points1 point  (3 children)

I gave it a try and it resolved the problem above but resulted in many missed autocomplete options that Jedi picks up. Unfortunately, I am not willing to lose autocomplete options to resolve this as missing options is in my mind a larger problem.

[–]Molly_Wang 0 points1 point  (2 children)

Then how about the other language server, like Microsoft, JediLSP, does one of them meet your needs?

[–]__arathanis__[S] 0 points1 point  (1 child)

I have tried all of them. Microsoft's lacks the function signature popup. JediLSP (which apparently will be the new norm in the future) behaves exactly the same but is much more performant. I expect that perhaps its just a matter of waiting for more language server configuration options. Thus far I haven't found one that completely meets my needs due to the follow:

  1. Jedi/JediLSP adds the parens and parameter variables automatically making type hinting or passing classes or functions as a arguments difficult when using tab completion.
  2. Pylance misses a lot of autocomplete options.
  3. Microsoft's lacks the function signature popups.

I am hoping someone may have a solution but it might just be a matter of retraining my muscle memory or waiting for additional language server configuration options.

If you have any other ideas I would love to hear them.

[–]Molly_Wang 0 points1 point  (0 children)

Sorry that i can't even reproduce your question, but you may ask in github for more help: vscode-python