質問: ### 前提・実現したいこと vscodeでpygameのインテリセンスを有効にしたい。 ```ここに言語名を入力 python ### 試したこと! VSCode・インテリセンスが効かない?を解消 参考サイト ターミナルからpython3 → import pygame → pygame と打って出てきたパスをpython.autoComplete.extraPathsに記入しましたがインテリセンスが有効になりません。 [![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/48730c867246f90eb06319cbf705514c.png)](d6104a84ba3aa2ce189b66acfbcf495c.png) ### 補足情報(FW/ツールのバージョンなど) macOS Catalina python 3.9.1 pygame 2.0.1 anacondaは使用しておりません。
回答: ウィンドウ左下にpythonの表示があるのでそれをクリックしてpygameをインストールしている環境に切り替えて見てはどうでしょうか。 私の環境ではそれをするだけでインテリセンスが効いてます。 pythonpathやextraPathsは特に設定してません。 ##### 追記 ###### 方法1 回答のコメントで色々確認したところ インテリセンスが全く効いていないというわけではなく、pygame.displayなど一部のワードで効いていないということが分かりました。 これについては私の環境でも同じ状況で、以下のように`import pygame`でpygameを呼び出した後にpygameのサブモジュールを呼び出そうとすると補完が効かなくなります。(`init`や`quit`などのメソッドは補完が効きます) ``` import pygame pygame.display ``` おそらく`__init__.py`の中でサブモジュールをimportしているのが原因でしょう。 少し調べたところstack overflowに類似の質問があがっていました。 How to enable autocomplete (IntelliSense) for python package modules? | stack overflow 以下のように`import pygame.display`とすれば補完が効くようになるみたいです。 ``` import pygame.display pygame.display ``` ###### 方法2 VSCodeの拡張機能Pylanceにはpygame用のpyiファイル(型の情報を持つファイル)を用意しているみたいですが、pygameのpyiファイルが邪魔して上手く機能していないみたいです。 import pygameのpygameの上で右クリックしてpygameの`__init__.pyi`ファイルを表示。 ファイルのパスを確認したらFinderでpygameの`__init__.pyi`ファイルを探してファイルを削除。 VSCodeをリロード。 これでPylanceのpyiファイルが使われるようになりコード補完が効くようになります。 こっちの方法なら使いたいサブモジュールを事前にimportする必要はないけど、pygameのバージョンを変えたら元に戻りそう。