VSCode Intellisense не работает для pygame - PullRequest
0 голосов
/ 19 июня 2020

При кодировании в pygame я понял, что VSCode не показывает itellisense для некоторых модулей pygame, а вместо этого показывает эти модули как переменные. ( pi c) После некоторого копания («Вопрос о переполнении стека»), я обнаружил, что если вы сделаете import pygame.display as display, intellisense отобразится нормально ( pi c). Могу ли я использовать intelliense без импорта таких модулей?

1 Ответ

0 голосов
/ 23 июня 2020

«Автозаполнение и IntelliSense» предоставлено Python Сервером. В vscode в основном вы можете выбрать «Джедай» или «Microsoft», и они имеют разные действия. Честно говоря, оба они недостаточно хороши, если вы воспользуетесь Pycharm, вы не столкнетесь с этой проблемой.

In 'Jedi':

'import pygame', 'import pygame.display', 'from pygame import *': display будет рассматриваться как значение, поэтому они не работают.

'from pygame import display', 'from pygame import display as display': display будет рассматриваться как переменная, поэтому они не работают.

'import pygame.display as display': display будет рассматриваться как модуль, поэтому он работает.

'import pygame', 'import pygame.camera', 'import pygame.camera as camera', 'from pygame import camera', 'from pygame import camera as camera': камера будет рассматриваться как модуль, поэтому она работает.

'from pygame import *': это не работает, потому что не удается найти модуль 'pygame' или 'camera'.

Почему это произошло? Это связано с тем, что модуль display был предоставлен через файл display.cp38-win32.pyd, это файл .pyd. И «камера» была предоставлена ​​через файл «camera.py», это файл python.

В 'Microsoft':


'import pygame': display будет рассматриваться как значение, поэтому он не работает.

'import pygame.display', 'import pygame.display as display', 'from pygame import display', 'from pygame import display as display', 'from pygame import *': отображение будет рассматриваться как модуль, поэтому они работают.


'import pygame', 'from pygame import *': не удается найти модуль камеры, поэтому они не работают. 'import pygame.camera', 'import pygame.camera as camera', 'from pygame import camera', 'from pygame import camera as camera': можно найти модуль камеры, чтобы они работали.
Почему это произошло? вы можете обратиться к https://docs.python.org/zh-cn/3/tutorial/modules.html#importing -from-a-package, чтобы узнать, почему 'from pygame import *' работает разница между дисплеем и камерой.
...