Eclipse имеет плагин для, вводят автозавершение с опережением как Visual Studio, таким образом, я не должен уничтожать свою клавишу "Пробел" путем нажатия Ctrl+Space все время? (Если Вы не знаете, как это работает в Visual Studio, не потрудитесь отвечать.)
И также, я могу ограничить автоматическое заполнение импортированными пакетами, а не каждый класс Java на земле? Это - fustrating наблюдение предложений от awt и колебания и т.д., когда я работаю с GWT. И я не хочу добавлять каждый класс Java к фильтру, это просто глупо. (Снова, как то, как это сделано в Visual Studio!)
Что касается второй части, да, вы можете
- Открыть Затмение
- Выберите Окно/Настройки из меню
- Разверните фильтры Java/Appearance/Type Filters из меню слева
- Нажмите кнопку "Добавить пакет", введите "java.awt" (без кавычек) и нажмите OK
- OK для выхода
Это заставит Затмение удалить любые совпадающие классы из пакета java.awt из списка вашего типа вперёд. Очень хорошо...
Так что "type-ahead" существует в Eclipse (упоминается в этом отчете о состоянии в июне 2006 года), но является синонимом автозавершения, чаще всего вызываемого CTRL+ Space.... (что не совсем то, что вы ищете)
Если быть более точным, то вида automatic auto-completion (завершение во время набора текста, со списком возможных завершений "Common" или "All"), который у вас есть в Visual Studio нет в Eclipse (на самом деле, прочитайте ниже):
Original response January 2010:
По крайней мере, не без специального плагина.
И даже с этим плагином, он должен был бы следовать заTemplateCompletionProcessor
, то есть ему нужен был бы список символов, вызывающих указанное завершение (опять же, это не то, что вы ищете), переопределив методgetCompletionProposalAutoActivationCharacters()
.
Update November 2011:
Cristi упоминает в своем ответе (upvoted) отличный обходной путь, который заключается в добавлении всех букв в качестве Авто-активационных триггеров для java.
.
См. также "Автоматически открывающееся окно завершения в Затворке".
Из резьбы "Затворка автозавершения ":
Windows -> Preferences -> Java -> Editor -> Content Assist
- Установите задержку на значение: 0 (на самом деле >0 лучше: 50, это позволяет избежать пикировки процессора из-за постоянного прослушивания)
- Установите триггеры на::
.(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV WXYZ@
Завершение срабатывает при нажатии "...", если это то, что вы называете "type-ahead autocompletion". Это то же самое делает и Visual Studio, если только вы не имеете в виду другую неизвестную мне возможность Visual Studio.
Ограничение завершения только импортируемыми пакетами, я думаю, является несколько неортодоксальной вещью; вы вынуждены полагаться на импорт wildcard для определения набора типов для завершения. Я думаю, что большинство пользователей посчитали бы это менее чем полезным. Тем не менее, вы можете подробнее рассказать о вашем случае использования для этого. Например, почему вы хотите исключить из завершения все классы Java?
BTW, использование "фильтров типов" (как предлагает VonC) не требует добавления каждого отдельного класса. Я обычно (глобально) исключаю java.awt.*
, sun.com.*
, org.omd.*
и некоторые другие. Затмение также сортирует sorts завершение в соответствии с (тип-чувствительный) эвристика, которая обычно приводит к тому, что наиболее релевантные типы отображаются в верхней части. Например, при автозавершении внутри вызова метода вверху будут отображаться переменные, соответствующие сигнатуре типа метода.