LoginSignup
0
0

More than 1 year has passed since last update.

Pylanceでclass名やrangeなどのカッコ()が自動補完できない現象

Last updated at Posted at 2022-05-22

VSCodeのPylanceを使用しているときにrange,list,int,str,classのインスタンス化などで括弧を補完してくれない問題の備忘録です
設定のpython.analysis.completeFunctionParensが既に有効で、print関数などは普通に補完されている状態が前提です

コード例

rang #ここで補完
range() #想定した挙動
range #実際の挙動

class Hoge():
    pass
Hog #ここで補完
Hoge() #想定した挙動
Hoge #実際の挙動

対処法

設定のpython.languageServerPylanceDefaultからJediに変更します
後述のように、今のところ(これからも)これしか方法がないと思います
image.png

原因

仕様です
PylanceのIssueを見ると、intやclass名などを型アノテーションとしてに使うときに、補完されると邪魔になるからみたいです

ちなみに、Jediではmypyを使用しないと言っている(=型アノテーションをサポートしない?)らしいので、型アノテーションよりブラケットの補完を優先したい方はやっぱりJediを使うのがよさそうです

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0