Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: codeLocker от Сентябрь 01, 2005, 12:06



Название: Code::Blocks и Code completion
Отправлено: codeLocker от Сентябрь 01, 2005, 12:06
У меня Code::Blocks делает автоматическое добавление кода только для классов находящихся в моем проекте, классы же самого Qt (QApplication, QString,...)он не видет. Кто знает, что нужно зделать для того что бы он видел классы Qt?


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

Settings -> Plugins' settings -> Code completion -> Class browser стоит галочка на Show inherited members?


Название: Code::Blocks и Code completion
Отправлено: codeLocker от Сентябрь 01, 2005, 12:19
Галочка стоит, но все равно не работает.


Название: Code::Blocks и Code completion
Отправлено: L.Marvell от Сентябрь 01, 2005, 12:29
Цитата: "codeLocker"
Галочка стоит, но все равно не работает.

Follow LOCAL includes, Follow GLOBAL includes также включены? Как включаешь хедеры? Только нужные или все сразу (QtGui)?


Название: Code::Blocks и Code completion
Отправлено: codeLocker от Сентябрь 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]


Название: Code::Blocks и Code completion
Отправлено: L.Marvell от Сентябрь 01, 2005, 12:51
И не находит методов от QApplication, QMainWindow, QIcon или от mainwindow.h и consts.h, или от них всех?

P.S. Собственно я заметил проблему, что в C::B автодополнение не находит все, что нужно, но все же работает довольно неплохо.


Название: Code::Blocks и Code completion
Отправлено: codeLocker от Сентябрь 01, 2005, 12:58
Все галочки о которых ты говорил стоят, но находит код только с рабочего каталога. Может нужно где-то пути прописать?


Название: Code::Blocks и Code completion
Отправлено: L.Marvell от Сентябрь 01, 2005, 13:06
Цитата: "codeLocker"
Все галочки о которых ты говорил стоят, но находит код только с рабочего каталога. Может нужно где-то пути прописать?

Хм... странно. И кэш юзаешь? Так и давай уточним. Автодополняет только те классы которые в рабочей дире, т.е. только те, которые ты сам заимплементил или дополняет все, которые подключены к проекту? Если 2-е, тогда в реализации собственного класса подключай один <QtGui> вместо того, чтоб подключать для каждого использующегося класса его инклуд, ну а если 1-е, тогда сложно...


Название: Code::Blocks и Code completion
Отправлено: codeLocker от Сентябрь 01, 2005, 13:17
Видит только те классы которые лежат в рабочем каталоге, даже если использовать <QtGui> ситуация не меняется.
Кэш включен.


Название: Code::Blocks и Code completion
Отправлено: L.Marvell от Сентябрь 01, 2005, 16:13
Цитата: "codeLocker"
Видит только те классы которые лежат в рабочем каталоге, даже если использовать <QtGui> ситуация не меняется.
Кэш включен.

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


Название: Code::Blocks и Code completion
Отправлено: Sergey B. от Сентябрь 01, 2005, 16:19
:D
1. Поставить все галки автодополнения!
2. После этого закладка Symbols - правый клик на Symbols (в окне) - Re-parse now
Усё... :D
Но по возможностям до Visual Assist  :(  явно далеко...


Название: Code::Blocks и Code completion
Отправлено: L.Marvell от Сентябрь 01, 2005, 16:26
Цитата: "Sergey B."
:D
1. Поставить все галки автодополнения!
2. После этого закладка Symbols - правый клик на Symbols (в окне) - Re-parse now
Усё... :D
Но по возможностям до Visual Assist  :(  явно далеко...

Имеется в виду закладка Class browser? Чего-то у меня при правом клике глухо  :shock: . Зато если отключить, нажать на ОК, тогда спрашивает "репарснуть ли", ну и соответственно обратно включаем, жмем ОК - снова спрашивает.


Название: Code::Blocks и Code completion
Отправлено: codeLocker от Сентябрь 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 и только после этого заработало.
Спасибо всем


Название: Code::Blocks и Code completion
Отправлено: L.Marvell от Сентябрь 01, 2005, 16:59
И так для каждго проекта менять? Не гут. Вобщем-то у меня тоже в проектных файлах через $QTDIR, которую оно берет из переменных окружения. Вообще-то странновато как-то, если б у тебя переменная была поломана, то проекты вообще бы не компилились, а то только автодополнение не работало. Мистика.


Название: Code::Blocks и Code completion
Отправлено: codeLocker от Сентябрь 01, 2005, 17:05
Вообще согласен, что плохо. У меня дома Qt на другом диске стоит :!:
Проверел переменное окружение там все нормально.


Название: Code::Blocks и Code completion
Отправлено: Вудруф от Январь 15, 2006, 19:26
Ещё пара вопросов по столь старой теме.
Он запускает автодополнение только если -> написано вплотную к указателю.
А я пишу: ptr -> func (...)
И не работает по точке:
class a
{
public:
 int i;
...
};
...
a b;
b.
Ничего не показывает
Также не определяет указатель this. Я что-то не так делаю?


Название: Code::Blocks и Code completion
Отправлено: QCasper от Февраль 20, 2006, 16:07
это, конечно, к qt косвенно относится, но я не знаю где еще спросить, у меня в линуксе Code::blocks не открывает файлы с русскими словами, вернее открывает их пустыми. У кого-нибудь была такая проблема?