Russian Qt Forum
Ноябрь 23, 2024, 04:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Code::Blocks и Code completion  (Прочитано 16071 раз)
codeLocker
Гость
« : Сентябрь 01, 2005, 12:06 »

У меня Code::Blocks делает автоматическое добавление кода только для классов находящихся в моем проекте, классы же самого Qt (QApplication, QString,...)он не видет. Кто знает, что нужно зделать для того что бы он видел классы Qt?
Записан
L.Marvell
Гость
« Ответ #1 : Сентябрь 01, 2005, 12:12 »

Цитата: "codeLocker"
У меня Code::Blocks делает автоматическое добавление кода только для классов находящихся в моем проекте, классы же самого Qt (QApplication, QString,...)он не видет. Кто знает, что нужно зделать для того что бы он видел классы Qt?

Settings -> Plugins' settings -> Code completion -> Class browser стоит галочка на Show inherited members?
Записан
codeLocker
Гость
« Ответ #2 : Сентябрь 01, 2005, 12:19 »

Галочка стоит, но все равно не работает.
Записан
L.Marvell
Гость
« Ответ #3 : Сентябрь 01, 2005, 12:29 »

Цитата: "codeLocker"
Галочка стоит, но все равно не работает.

Follow LOCAL includes, Follow GLOBAL includes также включены? Как включаешь хедеры? Только нужные или все сразу (QtGui)?
Записан
codeLocker
Гость
« Ответ #4 : Сентябрь 01, 2005, 12:33 »

Вот текст файла main.cpp:
Код:

#include <QApplication>
#include <QMainWindow>
#include "mainwindow.h"
#include <QIcon>

#include "consts.h"


SDOMainWindow* mw;

int main(int argc, char** argv){
    QApplication app(argc, argv);
    mw = new SDOMainWindow;
    mw->show();
   
    return app.exec();    
}
[/code]
Записан
L.Marvell
Гость
« Ответ #5 : Сентябрь 01, 2005, 12:51 »

И не находит методов от QApplication, QMainWindow, QIcon или от mainwindow.h и consts.h, или от них всех?

P.S. Собственно я заметил проблему, что в C::B автодополнение не находит все, что нужно, но все же работает довольно неплохо.
Записан
codeLocker
Гость
« Ответ #6 : Сентябрь 01, 2005, 12:58 »

Все галочки о которых ты говорил стоят, но находит код только с рабочего каталога. Может нужно где-то пути прописать?
Записан
L.Marvell
Гость
« Ответ #7 : Сентябрь 01, 2005, 13:06 »

Цитата: "codeLocker"
Все галочки о которых ты говорил стоят, но находит код только с рабочего каталога. Может нужно где-то пути прописать?

Хм... странно. И кэш юзаешь? Так и давай уточним. Автодополняет только те классы которые в рабочей дире, т.е. только те, которые ты сам заимплементил или дополняет все, которые подключены к проекту? Если 2-е, тогда в реализации собственного класса подключай один <QtGui> вместо того, чтоб подключать для каждого использующегося класса его инклуд, ну а если 1-е, тогда сложно...
Записан
codeLocker
Гость
« Ответ #8 : Сентябрь 01, 2005, 13:17 »

Видит только те классы которые лежат в рабочем каталоге, даже если использовать <QtGui> ситуация не меняется.
Кэш включен.
Записан
L.Marvell
Гость
« Ответ #9 : Сентябрь 01, 2005, 16:13 »

Цитата: "codeLocker"
Видит только те классы которые лежат в рабочем каталоге, даже если использовать <QtGui> ситуация не меняется.
Кэш включен.

Забавно. Даже сложно чего-то посоветовать. Попробуй поотключать в настройках автодополнения, а потом повключать обратно. Пахнет шаманством, конечно, ну а вдруг...
Записан
Sergey B.
Программист
*****
Offline Offline

Сообщений: 544



Просмотр профиля WWW
« Ответ #10 : Сентябрь 01, 2005, 16:19 »

Веселый
1. Поставить все галки автодополнения!
2. После этого закладка Symbols - правый клик на Symbols (в окне) - Re-parse now
Усё... Веселый
Но по возможностям до Visual Assist  Грустный  явно далеко...
Записан
L.Marvell
Гость
« Ответ #11 : Сентябрь 01, 2005, 16:26 »

Цитата: "Sergey B."
Веселый
1. Поставить все галки автодополнения!
2. После этого закладка Symbols - правый клик на Symbols (в окне) - Re-parse now
Усё... Веселый
Но по возможностям до Visual Assist  Грустный  явно далеко...

Имеется в виду закладка Class browser? Чего-то у меня при правом клике глухо  :shock: . Зато если отключить, нажать на ОК, тогда спрашивает "репарснуть ли", ну и соответственно обратно включаем, жмем ОК - снова спрашивает.
Записан
codeLocker
Гость
« Ответ #12 : Сентябрь 01, 2005, 16:54 »

Нашел проблему, в файле проекты было:
Код:
				<Option projectResourceIncludeDirsRelation="0"/>
<Compiler>
<Add directory="$QTDIR\include"/>
<Add directory="$QTDIR\include\Qt"/>
<Add directory="$QTDIR\include\ActiveQt"/>
---------
-------------
------

я поменял на
Код:
				<Option projectResourceIncludeDirsRelation="0"/>
<Compiler>
<Add directory="C:\Qt\4.0.1\include"/>
<Add directory="C:\Qt\4.0.1\include\Qt"/>
<Add directory="C:\Qt\4.0.1\include\ActiveQt"/>
---------
--------
----------

Потом зделал re-parse now и только после этого заработало.
Спасибо всем
Записан
L.Marvell
Гость
« Ответ #13 : Сентябрь 01, 2005, 16:59 »

И так для каждго проекта менять? Не гут. Вобщем-то у меня тоже в проектных файлах через $QTDIR, которую оно берет из переменных окружения. Вообще-то странновато как-то, если б у тебя переменная была поломана, то проекты вообще бы не компилились, а то только автодополнение не работало. Мистика.
Записан
codeLocker
Гость
« Ответ #14 : Сентябрь 01, 2005, 17:05 »

Вообще согласен, что плохо. У меня дома Qt на другом диске стоит :!:
Проверел переменное окружение там все нормально.
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.066 секунд. Запросов: 22.