Бесплатная среда программирования Python с автозаполнением - PullRequest
1 голос
/ 09 ноября 2011

Я посмотрел на большинство IDE там.Я настроил vim для использования автозаполнения, и я использую его прямо сейчас.Тем не менее, я не могу заставить его работать как Visual Studio с .NET.Автозаполнение, кажется, работает только в определенных случаях и показывает только методы, а не параметры, которые они принимают.Это в значительной степени непригодно для меня.

Мне нужно всплывающее окно, которое покажет мне все доступные методы и параметры, которые они принимают.В значительной степени ощущение VS2010, когда вы программируете .NET.

Ответы [ 3 ]

6 голосов
/ 09 ноября 2011

Вы не получите такого рода автозаполнение в динамическом языке, как Python, которое вы получаете в более явно типизированных языках.Обратите внимание:

 def MyFunction(MyArg):
      MyArg.

Когда вы набираете «.»в MyArg. вы ожидаете, что редактор предоставит список методов с аргументами.Это не может произойти в Python, потому что у редактора нет абсолютно никакой возможности узнать, какой тип (или типы) может быть MyArg.Даже компилятор Python не имеет этой информации при компиляции кода.Поэтому, если вы введете MyArg.SomeNonExistentFunction(), вы не получите никаких сообщений об ошибках до времени выполнения.

Если вы написали что-то вроде:

 def MyFunction:
      MyObject = MyClass(SomeArg)
      MyObject.

, тогда достаточно умный редактор может предоставить список методов, доступных после этого последнего ".".

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

3 голосов
/ 09 ноября 2011

Я уже давно использую Eclipse с расширением PyDev . Автозаполнение там действительно впечатляет, я очень рекомендую.

3 голосов
/ 09 ноября 2011

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

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

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

enter image description here


enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...