Eclipse PyDev авто-импорт работает неправильно - PullRequest
1 голос
/ 30 декабря 2011

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

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

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

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

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

Ответы [ 2 ]

1 голос
/ 04 января 2012

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

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

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

window> предпочтения> pydev> editor> автозавершение кода (нечувствительные к ctx и общие токены).

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

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

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

0 голосов
/ 30 декабря 2011

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

...