C автозаполнение кода в Eclipse

Я разработчик Java, и я загрузил Eclipse для C (цели курса), и к моему удивлению, ярлык control+space (для автозаполнения) не работал. Я создал новый проект и новый класс с помощью wizzards и начал вводить "печать", а затем попытался найти функцию автозаполнения. Немного погуглив, я пришел к C/C++ ->Editor ->Content Assist ->Advanced и там я это проверил Help proposals,Parsing-based proposals и параметры. Затем я подошел к Keys страница настроек с помощью ссылки на этой странице и ввела привязку для всего соответствующего контента assist от before CC++ Content Assist (type...) и выбрал в . Но, увы, автозавершение не было предложено. Кто-нибудь может указать мне правильное направление?

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

7 ответов


хотя eclipse не обеспечивает идеального автозаполнения, но он работает.. Это иногда происходит, когда индексатор выключен.

попробуйте включить индексатор и перестроить индекс.

посмотреть этот вопрос в CDT FAQ. Он содержит информацию о том, как найти ошибку индексатора, которая может помешать автозаполнению.


используйте панель дополнительно в окне Настройки, чтобы настроить поведение команды Content Assist (Ctrl+Space).
на Настройки - >C / C++ - > Редактор - >Content Assist - >Дополнительно.
Регистрация синтаксический анализ-предложения в видах предложений по умолчанию.


Я не эксперт Eclipse (и я даже не играю по телевизору), но может быть, что это только имена функций автозаполнения, которые объявлены в текущей области-вы добавили #include <stdio.h> в верхней части исходного файла, чтобы получить заявления для стандартных функций ввода/вывода?



Вы должны убедиться, что у вас есть GCC home (т. е. C:\MinGW-4.4.1\bin) определяется в переменной среды path (если вы используете windows, а если нет, то она равнозначна). Также убедитесь, что файл имеет .суффикс c и что индексатор включен, как сказал yousf. Я думаю, не уверен, что вам нужно запустить eclipse с флагом-clean и автозаполнение будет работать.

Еффей


Я ответил на него здесь: Eclipse: как добавить путь включения, который будет использоваться автозаполнением

вы должны явно сказать ему, где найти заголовок:

⇒ щелкните правой кнопкой мыши на вашем проекте
⇒ перейти к ' C / C++ включить пути и Символы'
⇒ выберите 'Добавить внешние пути...'
⇒ обзор расположение заголовочные файлы
обновить⇒


возможно, это связано с привязками KeyAssist.

Если вы пробовали с помощью content assist:

заключения Окно > Предпочтения. Меню "Общие" - > "Клавиши"

внутренний поиск "шаблон" и

ключ привязка к - > "Ctrl + пробел"

когда: "Редактирование Теста"

Image helper Image Menu Key Assist Code Complete


Vim предлагает эту функцию, сканируя #include (ярлык Ctrl-N или Ctrl-P для поиска назад). Если вы не можете найти лучшего решения, в крайнем случае можно заглянуть в eclim, который интегрирует функции vim в Eclipse (или наоборот), и это обязательно предложит эту функцию.