Python IDLEАвтозаполнение / Показать не работает - PullRequest
17 голосов
/ 01 февраля 2012

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

Я использую Code Blocks для C, и я действительно привык к очень хорошим функциям автозаполнения, поэтому немного расстраивает их отсутствие - особенно при попытке освоить новую фреймворк ис каким классом связаны какие методы, и т. д. и т. п.

Существует ли простое исправление, позволяющее автоматически завершить работу IDLE автоматически?Я использую Python версии 2.7.

Возможно, мне нужен простой редактор?Я попробовал Vim, который был слишком тяжел для моих простых нужд, Ninja, который я не мог заставить ни на что работать, и Sublime text 2, с которым я не мог заставить играть мои вещи wxpython.Каким будет хороший вариант?Что-нибудь похожее на Code Blocks было бы круто, хотя, я был бы совершенно счастлив с IDLE, если бы он работал последовательно!

ЗАПРОШЕННАЯ ПОЯСНЕНИЕ: ОК, так что, похоже, у меня могут быть некоторые измоя терминология задом наперед.Под неинтерактивным я имею в виду, например, щелчок правой кнопкой мыши по файлу py и выбор «редактировать с IDLE».Это поднимает то, что я думаю, можно описать как текстовый редакторВы можете ввести весь свой код здесь.Когда все будет готово, вы нажимаете F5 или выбираете Run, и он запускает (то, что я имел в виду) интерактивный терминал.Именно здесь вы можете ввести код, нажать клавишу возврата и мгновенно оценить этот код.

Что касается моего вопроса, относится к первому, части IDLE, где вы редактируете код.Иногда при наборе текста, после.он отобразит доступные методы или после открытых скобок даст подсказки относительно ожидаемых значений.но дело в том, что иногда это делает, иногда нет.

Ответы [ 5 ]

13 голосов
/ 28 февраля 2012

Единственное, что я нашел на данный момент, это то, что если сеанс редактирования IDLE связан с оболочкой python (в вопросе это называется «интерактивный режим», т. Е. После попытки запустить отредактированный скрипт), то «неинтерактивный» IDLEможет автозаполнение на основе значений в интерактивном окне.Например, если я наберу

a = [];
a.appen

, а затем нажму , это ничего не изменит, но если я ранее наберу

a = []

в соответствующей оболочке python, IDLE автоматически завершится автоматически.

Так что мое единственное предложение - импортировать одинаковые модули с одинаковыми именами в окне оболочки Python, чтобы сделать их "видимыми" для неинтерактивного редактора IDLE.

10 голосов
/ 09 мая 2013

У меня была такая же проблема с IDLE, потому что я хочу изучать Qt, и поэтому автозаполнение очень полезно.Как сказано в настройках IDLE, вы можете запустить автозаполнение с помощью «Control + Space», например, после «QtGui».Затем откроется меню, в котором вы можете прокрутить записи с помощью стрелок.

0 голосов
/ 23 мая 2018

используя 'окно редактора IDLE', вы должны сначала сохранить и выполнить свой код. Запустив приложение, вернитесь в окно редактора, чтобы использовать автозаполнение.

0 голосов
/ 23 апреля 2018

Иногда это связано с тем, что вам нужно ждать, чтобы получить предложения.

Когда вы переходите на options > extensions > general на completions popup wait, вы можете изменить его примерно до 500 мс. В моем случае это было 2000 мс по умолчанию.

0 голосов
/ 11 октября 2016

В моем случае мне пришлось открыть меню «Параметры» -> вкладка «Расширения» в редакторе и убедиться, что автозаполнение и другие соответствующие параметры включены.На самом деле они были, но просто нажав «Применить», хотя я не собираюсь ничего менять, мне это удалось.

...