Только что установил Eclipse Helios (Win7 64), и у меня возникла странная проблема. Я набираю syso-Ctrl-Space, который должен завершиться до System.out.println(""), но это не работает! Я искал в Интернете около часа, я установил «Настройки»> «Java»> «Редактор»> «Помощник по содержимому» по умолчанию, ничего. Все остальное вроде работает. Идеи?
Для ясности: ярлык работает, он завершает все, кроме «syso», как видно до сих пор, на syso (также пробовал sysout) он говорит «Нет предложений по умолчанию». Я не смог найти такие ярлыки в Content Assist, но я все равно установил их по умолчанию.
Проблема автодополнения Eclipse
Ответы (11)
Если автозаполнение по-прежнему не работает, попробуйте включить Предложения шаблонов в меню Помощь по содержанию. Это точное местоположение,
Windows->Preferences->Java->Editor->Content Assist->Advanced
И убедитесь, что у вас есть только одна запись для syso (в меню Шаблоны).
Я считаю, что правильным шаблоном является «sysout», и я считаю, что это можно где-то настроить, но не могу сказать, где. Попробуйте sysout, а затем Ctrl+Space. Это шаблон, вы можете найти все шаблоны в разделе
Окно -> Настройки -> Java -> Редактор -> Шаблоны
Там вы можете увидеть, что имя шаблона «sysout», это затем вызовет замену строки для System.out.writeln(), но вы можете изменить как имя шаблона (если вы предпочитаете syso), так и/или фактический код, созданный путем вызова шаблон
Ваше здоровье
private void Sysout() {//TODO Auto-generated method stub}
. Почему это происходит? Шаблон говорит System.out.println(${word_selection}${});${cursor}
. Что дает ?
- person Erran Morad; 28.04.2014
Я использую Eclipse Galileo и столкнулся с той же проблемой. Даже после того, как вы попробовали предложенные выше решения, но это не сработало. После внесения приведенных ниже изменений он, наконец, выходит.
- Перейдите в Windows->Настройки->Java->Редактор->Шаблоны.
- Выберите шаблон sysout и отредактируйте его.
- Измените контекст с оператора Java на Java.
И это сработало для меня. Я надеюсь, что это будет полезно для вас.
Как сказал Питер, это находится в разделе Window -> Java -> редактор -> шаблоны. Найдите строку со следующими значениями.
sysout Операторы Java Печать в стандартном формате
превью должно быть таким...
System.out.println(${word_selection}${});${cursor}
Ваш курсор должен быть расположен в месте, где было бы законно получить эту строку. Если ваш курсор находится внутри определения метода и вы набираете syso, вы получите замену. Однако, если ваш курсор находится в части текста за пределами определения какого-либо метода, например, там, где вы объявляете переменные для своего класса, тогда syso не будет предлагать недопустимую строку system.output.println();.
У меня была эта проблема, я прочитал все ответы здесь, убедился, что она ДОЛЖНА работать в моей копии, и понял, что набирал syso НИЖЕ закрытия } моего последнего метода, а не в методе.
Затмение на!
Вы можете попробовать установить ярлык Content Assist с помощью ALT + L, если это сработает, вы можете снова выбрать свой любимый ярлык. (Сочетание клавиш Ctrl+Пробел конфликтует с сочетанием клавиш переключения метода ввода). В eclipse на linux сочетание клавиш для завершения слов — ALT+/, поэтому, если вы установите его как сочетание клавиш Content Assist, оно также будет конфликтовать.)
Просто перейдите по указанному ниже адресу:
Windows->Настройки->Java->Редактор->Помощник по содержимому->Дополнительно
и нажмите восстановить по умолчанию..........это все
его работа как шарм снова.
Также проверьте это меню затмения: Windows -> Настройки -> Java -> Внешний вид -> Фильтры типов
Если вы видите здесь java.*
или javax.*
, попробуйте удалить его (или Restore Default сделает эту работу) и убедитесь, что это работает, это сработало для меня.
Только что нашел решение для Eclipse Luna: напишите syso, нажмите CTRL+Пробел и нажмите «включить интеллектуальное завершение кода», и все готово. Я уверен, что вы можете найти его где-нибудь в опциях, но так это быстро и легко!
ГРЯЗНОЕ ВРЕМЕННОЕ РЕШЕНИЕ: вы можете попробовать следующий AutoHotkey-Code, если вы все еще боретесь, как я (ВСЕ ЕЩЕ не удалось исправить это самостоятельно)
#persistent
#ifwinactive ahk_class SWT_Window0 ; eclipse java
:*:syso::
sendraw System.out.println()`;
loop, 2
send {left}
return
#ifwinactive
Вам нужно записать это в файл .ahk и запустить (должен быть установлен AutoHotkey). Вы можете поместить этот файл в папку автозагрузки. Это очень полезный инструмент, возможно, однажды вы захотите его расширить.
Возможно, у вас есть перекрывающиеся ярлыки. Перейдите в «Обзор», а затем в подраздел «Ключи». Введите «ctrl + пробел» в разделе «Фильтровать текст». Вы должны увидеть «помощь по содержимому» и, возможно, другую команду с тем же ярлыком. Если существует другой ярлык, измените его ярлык на что-то другое.