Подтвердить что ты не робот

Возможно ли завершение кода iPython/Intellisense на Dot?

Как кто-то пытается изучить все возможности Python (с акцентом на научные вычисления - то есть: pandas, numpy, scikit-learn), большинство гуру, похоже, рекомендуют и используют ноутбуки iPython. Моя самая большая точка привязки в качестве начального/промежуточного кодера заключается в том, что я НЕОБХОДИМА для завершения выполнения/intellisense-подобных функций из IDE, чтобы изучить параметры функции. Я пока не знаю, какие параметры доступны в моей текущей разработке.

В iPython я заметил, что могу нажать Tab, чтобы показать раскрывающийся список опций (см. ниже как pd.), но я не хочу, чтобы каждый раз ударялся. Это не удобно для моих нужд. Вместо этого я хотел бы, чтобы он показывал только доступные классы и методы, когда я нажимаю точку.

Во-вторых, я замечаю, что если бы я сказал pd.read_csv(<TAB>, я получаю намного больше опций, чем фактические параметры в read_csv.

Вопрос. Может ли iPython автоматически показывать точные параметры завершения кода сразу после нажатия точки/периода? Кроме того, есть ли способ настроить его только для отображения доступных параметров функции, когда внутри функции?

Чтобы сделать этот вопрос супер-специфичным, я не прошу об использовании какой-либо другой среды IDE; Я очень конкретно задаюсь в отношении только iPython и задаюсь вопросом, есть ли способ установить какую-то конфигурацию, чтобы мгновенно получать точные "точечные" параметры отображения при нажатии "точка" (без задержки).

введите описание изображения здесь

Пример ниже показывает Desktop, который, очевидно, не является параметром pd.read_csv().

введите описание изображения здесь

4b9b3361

Ответ 1

Вы можете нажать <Shift>-<Tab>, чтобы получить всплывающую подсказку, показывающую подпись функции:

введите описание изображения здесь

В качестве альтернативы вызов zip? открывает панель документации в нижней части окна.

Что касается того, что всплывающая подсказка открывается автоматически, я не уверен. Я предполагаю, что это невозможно с помощью конфигурации.

Ответ 2

Спустя почти 3 года я наконец-то нашел потенциальное решение.

Ответ: Установите nbextensions и включите расширение Hinterland.

Включите меню автозаполнения кода для каждого нажатия клавиши в ячейке кода, вместо того, чтобы вызывать его только с помощью табуляции.

Вот что вы делаете:

  1. pip install jupyter_contrib_nbextensions
  2. jupyter contrib nbextension install --user
  3. Запустите jupyter notebook (браузер запускается)
  4. На одной из вкладок теперь должно отображаться " Nbextensions "
  5. Там вы найдете " Внутренние земли ". Установите флажок, чтобы включить.

Hinterland имеет несколько настраиваемых параметров, таких как:

  • hinterland.hint_delay: задержка в миллисекундах между нажатием клавиши и запросом подсказки.
  • hinterland.enable_at_start: включить или отключить непрерывный хинтерленд при первом открытии записной книжки или, если false, только при выборе из пункта меню справки.
  • hinterland.hint_inside_comments: запрашивать ли подсказки при наборе комментариев к коду. По умолчанию false.
  • Другие параметры регулярного выражения: hinterland.exclude_regexp, hinterland.include_regexp, hinterland.tooltip_regexp

enter image description here

Ответ 3

Если вы используете ноутбук Jupyter и ваш Intellisense не работает, введите ниже и нажмите TAB после (.)

% config IPCompleter.greedy = True

это будет работать и для вас.