Автозаполнение в кодовых блоках - PullRequest
5 голосов
/ 19 июля 2011

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

Заполняет имена базовых переменных, но не завершает внутренние имена структур и т. Д.

В чем причина?

Под "внутренними именами структуры" я подразумеваю, например, переменную gl.A:

typedef struct
{
bool A;

} B;          
B gl;

спасибо,

и извините за мой плохой английский ...

Ответы [ 3 ]

12 голосов
/ 15 сентября 2013

Также (в дополнение к ответу Лубулоса), когда вы видите, что это происходит, попробуйте перейти на левую панель (Управление проектами), щелкните правой кнопкой мыши свой проект и затем нажмите «Повторно проанализировать этот проект». Вы заметите, что полоса, которая показывает текущий блок кода вверху, на некоторое время станет серой. Когда он будет восстановлен, попробуйте снова написать, что вы печатали, и проверьте, устранена ли проблема.

Вы также можете иногда использовать «Reparse this file», что немного быстрее, если вы редактировали только один файл с начала (или с момента последнего повторного анализа).

8 голосов
/ 10 сентября 2011

Модуль дополнения кода Code :: Blocks (Code :: Completion) замечательный, но имеет некоторые ошибки. Например, если вы программируете на C ++, завершение методов и атрибутов иногда не работает.

В настоящее время на форуме Code :: blocks есть раздел с названием CodeCompletion Redesign, где разработчики постоянно улучшают плагин. После того, как вы дважды проверили, что настройки вашего плагина в порядке (Плагин> Управление плагинами или Настройки> Редактор ...> Код :: Завершение и Обозреватель символов), если ваша проблема все еще сохраняется, попробуйте посетить форум.

0 голосов
/ 03 октября 2017

Для меня это был мошеннический "'" в конце оператора включения, который остановил плагин завершения кода. Поскольку код все еще скомпилирован, это было трудно увидеть.

Удаление этого мошенника исправило проблему. Оригинальный код был:

#include "DialogSA.h"'

Изменение этой строки на следующее (то есть удаление мошенника "") исправило CodeComplete в C :: B:

#include "DialogSA.h"

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

...