Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > VSudio 7 неправильно показывает подсказки


Автор: Dreamer_0x01 31.10.2005, 16:54
Есть такая проблема.
У меня был файл config.c.
В нем была структура TConfig со множеством полей.
После этого я сделал новый файл, config.cpp, перенес туда структуру, и изменил некоторые ее поля (добавил новых).

Сответственно, в других файлах встречается такой код:

ТConfig * tcfg;
B вот когда набираешь "tcfg->", то после ввода уголочка всплывает окошечко с перечнем полей структуры, в которые для ускорения ввода кода можно ткнуть мышкой.

Кстати, как называется подобный механизм по-грамотному?

Так вот, проблема в том, что в этом окошечке показываются поля из старого конфига, хранящегося в файле conig.c. При этом при наведении мышки на элемент еще и тултип дополнительный выскакивает вида "File: "confog.c" ".

Но кроме того, что структура уже перемещена в другой файл, так кроме этого файл config.c вообще удален с винта!
Откуда она берет эту старую информацию, и как ее заставить обновить ее? Очень бесит!
Удаление файлов, создаваемых при компиляции, не помогает.
А заново строить проет, и включать туда файлы не хочется - слишком много настроек, да и файлов около сотни...

спасибо.

Автор: threef 31.10.2005, 18:11
Ребульд все пробовал ?

Автор: Dreamer_0x01 31.10.2005, 18:52
пробовал, не помогает.

Автор: Coocky 31.10.2005, 23:27
smile
Быть такого не может!
Посмотри внимательно. удали из Solution, удали из папки(ЕСТЬ ОН ТАМ)..
Бывали проблемы когда не показывались подсказки(забыл как. Кажется ка-то silent......не помню дальше)
Вообще сначало удаляешь.Делаешь Rebild Solution, затем Rebild Proect. потом добавляешь. Делаешь так же.
Попробуй сделать rebild Solution сначала..

Автор: Dreamer_0x01 1.11.2005, 15:32
Цитата(Coocky @ 31.10.2005, 23:27)
Быть такого не может!
Посмотри внимательно. удали из Solution, удали из папки(ЕСТЬ ОН ТАМ)..


еще как может.
Я файл точно из проекта удалил, а на винте его переименовал в другое имя и расширение.
Дубликатов точно нет.

Я сейчас вот что сделал. Удалил все последствия компиляции - файлы в Debug, Selease, файлы *.aps, *.ncb.

И запустил Вижуал Студио по ассоциации файла мой_проект.vcproj.
При загрузке он мне гавкнул, что у него нет солюшена и предложил создать, я согласился, он сказал, что солюшен у него уже есть, и хотите ли заменить. Я заменил...

В общем, проблема исчезла, теперь подсказки нормально отображаются.


Но раз такое дело - не мог бы ты мне пояснить, какие файлы за что отвечают, а то их генерится просто немерянно, и все ли они нужны.
Я файлы Debug и Release не имею в виду, а имею в виду файлы, которые в самом каталоге проекта генерируются.
Это
мой_проект.ncb,
мой_проект.sln,
мой_проект.aps,
мой_проект.vcproj,
мой_проект.suo /*этот еще и скрытым делается зачем-то*/.





Автор: GremlinProg 16.11.2005, 13:20
Есть такой косяк в вижах. Чтобы всё работало правильно, закрой среду и удали файл *.ncb в папке проекта, после этого открой среду и перекомпиль проект.

NCB - это файл парсера С++. Оптимизация вижей так постороена, что не всегда его обновляет.

PS: Перед этоим, проект не должен содержать ошибок и обязательно закрыть среду нада, а то она не позволит файл удалить.

Автор: Dreamer_0x01 16.11.2005, 15:40
GremlinProg
Спасибо! Вот теперь все в порядке, когда начинается такая фигня - просто удаляю этот файл...
И мне это существенно упрощает работу. а по сему - плюсик от меня...

Автор: S.A.P. 16.11.2005, 15:49
Цитата(Dreamer_0x01 @ 31.10.2005, 16:54)
Кстати, как называется подобный механизм по-грамотному?

IntelliSense

Автор: Dreamer_0x01 16.11.2005, 16:03
Perchilla

ясно...

Автор: AlexPro 16.11.2005, 16:52
У меня подобные заморочки были в VStudio 6, лечилось удалением .ncb и ребилдом.
Цитата(Dreamer_0x01 @ 31.10.2005, 16:54)
по-грамотному

Perchilla уже сказал насчет IntelliSense, хочу дополнить "по-грамотному" насчет точек, стрелочек и прочих уголочков. Вся эта хрень обзывается чудовищным термином "селекторы членов класса" (member selectors). smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)