Pull to refresh

Comments 11

А можно ли как-то так сделать подсказку по удаленному интерпретатору?
Не совсем понял вопрос. Какую подсказку? Наведением курсора мыши на переменную/объект, чтобы смотреть ее содержание?
Что-то такое. Что бы еще оно использовало удаленный интерпретатор для того, что бы импорты анализировать и прочее.
Просмотр переменных/объектов наведением указателя мыши в коде в режиме дебага работает. Или чтобы по нажатию исходник модуля открывался в редакторе? Модули в проекте и локально установленные откроются через CTRL + Клик мыши на названии модуля, а вот удаленные, установленные только в контейнере, посмотреть не удается.

Не обязательно исходники модуля, а подсказки по импорту, например.
Что бы from wiskas import автоматически предлагал варианты. Такое можно сделать, например, через python-language-server.

Сейчас стало понятно. Это важный вопрос, спасибо. Ответов у меня пока нет :(
Нашлось простое решение :) Как оказалось, в расширении Python к VS Code есть опция, которой можно указать список внешних модулей/библиотек Python которые импортируются в auto complete engine. Достаточно указать путь в WORKSPACE SETTING (файл .vscode/settings.json) к библиотекам в контейнере, например так (это один из из путей который ищет python, вы можете расширить этот список):
// List of paths to libraries and the like that need to be imported by auto complete engine. E.g. when using Google App SDK, the paths are not in system path, hence need to be added into this list.
    "python.autoComplete.extraPaths": ["/var/lib/lxd/storage-pools/lxdpool/containers/pytest/rootfs/usr/local/lib/python3.6/dist-packages/"],

По адресу /var/lib/lxd/storage-pools/lxdpool/containers/pytest/rootfs/ находится корневая система контейнера, относительно ее вы можете найти установленные библиотеки и указать полный путь в параметре «python.autoComplete.extraPaths».
Вот пример, автодополнение работает для numpy, который установлен только в контейнере:

Если сразу не заработало, попробуйте перезагрузить VS Code, а также удалить любые символы после from… import и вызвать сразу CTRL + SPACE. Иногда не сразу срабатывает, где-то кешируется.
P.S. Обновил статью, добавил информацию по автодополнению.

Жаль у меня docker, там такой велосипед надо будет каждый раз делать при пересоздании контейнера :)

Всё замечательно, но с осторожностью отнеситесь к продуктам Microsoft.
Много лет работал на стеке .NET и знаю что они работают в стиле Паниковского: «я вас всех продам, куплю, и снова продам, но уже по более дорогой цене».

За последние годы они конечно одумались и сильно ломанулись в сторону Linux и Open Source, но не очень верится что это они делают для людей.
Есть другие проверенные решения, например pydevd и его поддерживает не одно IDE.
Sign up to leave a comment.

Articles

Change theme settings