2011-12-30 4 views
1

Я уже несколько дней пытаюсь привыкнуть к pydev, и мне это очень нравится, но если я буду использовать опцию автоматического импорта, он будет импортировать, например, from test.test_iterlen import len (и многие другие), когда я хочу len(something), хотя это необязательно.Ошибка автозаполнения Eclipse PyDev

С другой стороны, если я полностью отключу функцию авто-импорта, когда я делаю len (что-то), он просто продолжает вставлять пустые/пустые строки перед текущей строкой, и это действительно раздражает.

Любая идея, что может быть причиной этого? Либо необязательный импорт, либо пустую строку.

Eclipse: Indigo Service Release 1 
Eclipse platform: 3.7.1 
PyDev: 2.3.0.2011121518 
Python: 3.2.2 

Большое спасибо!

ответ

1

Авто-импорт работает, перейдя через то, что называется «завершением кода (ctx нечувствительным)» ... здесь главная проблема заключается в том, что вы запрашиваете завершение кода для «len», и оно определено в многие другие места (и вы в конечном итоге выбираете один из них).

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

Вы можете настроить те по адресу:

окна> Настройки> PyDev> редактор> автозавершение кода (CTX нечувствительные и общие знаки).

И измените количество символов на большее число (поскольку вы, вероятно, запрашиваете завершение с 2 символами, чтобы получить len, вы можете захотеть поставить этот запрос в 3 или, возможно, 4 символа).

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

Что касается проблемы, о которой вы сообщали при выходе из автоматического импорта, я не мог ее воспроизвести (то есть: он не добавлял никаких пустых строк), так что было бы неплохо, если бы вы могли сообщить об этом как ошибка в отладчике ошибок PyDev с лучшими инструкциями (то есть: исходный файл и шаги для воспроизведения).

0

Всплывающее окно должно появляться с завершением кода. Прокрутите вниз до len(object). С Python 2.7 я не могу воссоздать странность, которую вы описываете. Там может быть странное поведение Py3.