Введите автозавершение с опережением в Eclipse

Eclipse имеет плагин для, вводят автозавершение с опережением как Visual Studio, таким образом, я не должен уничтожать свою клавишу "Пробел" путем нажатия Ctrl+Space все время? (Если Вы не знаете, как это работает в Visual Studio, не потрудитесь отвечать.)

И также, я могу ограничить автоматическое заполнение импортированными пакетами, а не каждый класс Java на земле? Это - fustrating наблюдение предложений от awt и колебания и т.д., когда я работаю с GWT. И я не хочу добавлять каждый класс Java к фильтру, это просто глупо. (Снова, как то, как это сделано в Visual Studio!)

9
задан ROMANIA_engineer 23 April 2015 в 21:36
поделиться

2 ответа

Что касается второй части, да, вы можете

  • Открыть Затмение
  • Выберите Окно/Настройки из меню
  • Разверните фильтры Java/Appearance/Type Filters из меню слева
  • Нажмите кнопку "Добавить пакет", введите "java.awt" (без кавычек) и нажмите OK
  • OK для выхода

Это заставит Затмение удалить любые совпадающие классы из пакета java.awt из списка вашего типа вперёд. Очень хорошо...

Так что "type-ahead" существует в Eclipse (упоминается в этом отчете о состоянии в июне 2006 года), но является синонимом автозавершения, чаще всего вызываемого CTRL+ Space.... (что не совсем то, что вы ищете)


Если быть более точным, то вида automatic auto-completion (завершение во время набора текста, со списком возможных завершений "Common" или "All"), который у вас есть в Visual Studio нет в Eclipse (на самом деле, прочитайте ниже):

alt text

Original response January 2010:

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

Update November 2011:

Cristi упоминает в своем ответе (upvoted) отличный обходной путь, который заключается в добавлении всех букв в качестве Авто-активационных триггеров для java.
. См. также "Автоматически открывающееся окно завершения в Затворке".

Из резьбы "Затворка автозавершения ":

Windows -> Preferences -> Java -> Editor -> Content Assist
  • Установите задержку на значение: 0 (на самом деле >0 лучше: 50, это позволяет избежать пикировки процессора из-за постоянного прослушивания)
  • Установите триггеры на::
    .(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV WXYZ@

content assist options

24
ответ дан 4 December 2019 в 06:22
поделиться

Завершение срабатывает при нажатии "...", если это то, что вы называете "type-ahead autocompletion". Это то же самое делает и Visual Studio, если только вы не имеете в виду другую неизвестную мне возможность Visual Studio.

Ограничение завершения только импортируемыми пакетами, я думаю, является несколько неортодоксальной вещью; вы вынуждены полагаться на импорт wildcard для определения набора типов для завершения. Я думаю, что большинство пользователей посчитали бы это менее чем полезным. Тем не менее, вы можете подробнее рассказать о вашем случае использования для этого. Например, почему вы хотите исключить из завершения все классы Java?

BTW, использование "фильтров типов" (как предлагает VonC) не требует добавления каждого отдельного класса. Я обычно (глобально) исключаю java.awt.*, sun.com.*, org.omd.* и некоторые другие. Затмение также сортирует sorts завершение в соответствии с (тип-чувствительный) эвристика, которая обычно приводит к тому, что наиболее релевантные типы отображаются в верхней части. Например, при автозавершении внутри вызова метода вверху будут отображаться переменные, соответствующие сигнатуре типа метода.

1
ответ дан 4 December 2019 в 06:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: