VSCode не может автоимпортировать функции python

В настоящее время я могу автоматически импортировать функции python из внешних типизаций, таких как from typing import List. Однако я не могу обнаружить локальные функции для импорта. Например:

Если у меня есть класс данных SomethingData в dataclasses.py, и я ссылаюсь на него в функции в do_something.py, VSCode не может обнаружить его, и мне приходится вручную вводить путь импорта для класса данных.

У меня включены следующие расширения:

  • Python
  • Pylance
  • Intellicode

Мой settings.json включает:

{
  "python.envFile": "${workspaceFolder}/.env",
  "python.languageServer": "Pylance",
  "python.analysis.indexing": true,
  "python.formatting.provider": "black",
  "python.analysis.autoImportCompletions": true,
  "python.analysis.autoSearchPaths": true,
  "python.autoComplete.extraPaths": ["~/Development/<django repo name>/server"],
  "python.analysis.extraPaths": ["~/Development/<django repo name>/server"],
  "vsintellicode.features.python.deepLearning": "enabled",
}

Я использую поэзию для моей виртуальной среды, которая находится по адресу ~/Development/<django repo name>/.venv

Есть ли что-то, что я упускаю?

Согласно проблеме, которую я поднял на github ранее, разработчик дал ответ.

На данный момент пользовательский код не будет добавлен в список автозаполнения (если только он уже не был импортирован). Это сделано для того, чтобы у пользователей не было слишком много пользовательских модулей, что может привести к слишком долгому времени загрузки.

При необходимости вы можете начать обсуждение на github и проголосовать за него.

Оказалось, что последние версии для Pylance сломали импорт quick-fix и все дополнительные настройки пути для VSCode. Когда я откатил версию до v2022.8.50, теперь все снова работает.

Я подал заявку здесь: https://github.com/microsoft/pylance-release/issues/3353.

Вернуться на верх