Могу ли я иметь ссылки на внешние функции VSCode через файлы-заглушки без необходимости их импорта?

#python #visual-studio-code #stub #pylance

Вопрос:

Я работаю с инструментом, который позволяет выполнять скриптовые операции, запуская внешние файлы сценариев, написанные для IronPython. Сами файлы сценариев предназначены для быстрого изменения, но они интенсивно используют пользовательские функции, которые находятся внутри самого инструмента. Я хотел бы иметь возможность использовать функции автозаполнения / проверки типов / и т.д. в VSCode при редактировании файлов сценариев, чтобы я мог получить окно наведения курсора, в котором отображаются параметры и возвращаемый тип для данной функции.

Я некоторое время искал способы сделать это и добился некоторого прогресса, используя инструкции, найденные в этом репозитории пользовательских заглушек git для MicroPython, что позволило VSCode предлагать быстрое исправление при наведении курсора мыши на функцию ‘undefined’, но исправление, которое он реализует, заключается в добавлении вызова импорта в файл-заглушкудля функции. Это работает для помощи при редактировании, но эти строки импорта вызовут проблемы, когда сам инструмент скомпилирует скрипт, а затем попытается переопределить внутренние функции.

Я хотел бы, чтобы Pylance рассматривал эти файлы-заглушки как эффективную часть базового python, чтобы он всегда проверял их, а не только проверял, импортировал ли их данный файл. Возможно ли это?

Комментарии:

1. В Pylances есть несколько .i файлов, описывающих интерфейс внешних библиотек, я не знаю, можете ли вы добавить пользовательские .i файлы для других инструментов, использующих встроенный Python, вы можете добавить их, но они, вероятно, будут перезаписаны при следующем обновлении, спросите репозиторий PyLance о том, как это сделать.