Возможно ли завершение кода 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()
.
![введите описание изображения здесь]()
Ответы
Ответ 1
Вы можете нажать <Shift>-<Tab>
, чтобы получить всплывающую подсказку, показывающую подпись функции:
![введите описание изображения здесь]()
В качестве альтернативы вызов zip?
открывает панель документации в нижней части окна.
Что касается того, что всплывающая подсказка открывается автоматически, я не уверен. Я предполагаю, что это невозможно с помощью конфигурации.
Ответ 2
Спустя почти 3 года я наконец-то нашел потенциальное решение.
Ответ: Установите nbextensions и включите расширение Hinterland.
Включите меню автозаполнения кода для каждого нажатия клавиши в ячейке кода, вместо того, чтобы вызывать его только с помощью табуляции.
Вот что вы делаете:
-
pip install jupyter_contrib_nbextensions
-
jupyter contrib nbextension install --user
- Запустите
jupyter notebook
(браузер запускается) - На одной из вкладок теперь должно отображаться " Nbextensions "
- Там вы найдете " Внутренние земли ". Установите флажок, чтобы включить.
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
это будет работать и для вас.