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.