Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt инструментарий _ Автодополнение кода

Автор: RazrFalcon 20.12.2010, 12:04

К примеру я пишу for - нажимаю Tab - дописывается for (int i=0; i<10; i++) {} к примеру.
Как так можно сделать в Qt Creator?

Автор: Алексей1153 21.12.2010, 0:02

хм, тоже всё мечтаю про дополнялку вида

::iterator it=;
for(it=.begin(); it!=.end(); it++)
{
}

:)

было бы круто, если такое возможно

Автор: igor_bogomolov 21.12.2010, 1:06

Всё уже возможно. Загляните в это сообщение (http://www.forum.crossplatform.ru/index.php?s=&showtopic=5877&view=findpost&p=43360)

Автор: Алексей1153 21.12.2010, 7:40

хм, папку C:\Qt\2010.04\share\qtcreator\snippets нашёл, но попытка вставить фрагмент приводит к появлению окна, где просят некий сервер. Вводил туда путь к папке - жалуется, что это ПАПКА :))

Автор: igor_bogomolov 21.12.2010, 9:41

Чем и как ты пробовал не понятно? Читай ещё раз внимательнее сообщение по ссылке.
То что ты написал и есть папка. А файл внутри C:\Qt\2010.04\share\qtcreator\snippets\cpp.xml (если конечно в твоей версии это реализовано. У тебя старенькая sdk, а нужный функционал, если я не ошибаюсь, появился совсем недавно)

Автор: kwisp 21.12.2010, 10:25

Цитата(Алексей1153 @ 21.12.2010, 0:02) *
хм, тоже всё мечтаю про дополнялку вида

::iterator it=;
for(it=.begin(); it!=.end(); it++)
{
}

так он есть
пишешь
std::for_each(v.begin(),v.end(),<внутренности цикла>) и всё :)

Автор: RazrFalcon 22.12.2010, 5:29

Поставил qtcreator-2.0.94, нашел нужный файл, изменил

<snippet>for (int <tab>var</tab> = 0; <tab>var</tab> &lt; <tab>total</tab>; ++<tab>var</tab>) {

}
</snippet>

на
<snippet>for (int <tab>i</tab> = 0; <tab>i</tab> &lt; <tab>total</tab>; <tab>i</tab>++)
{

}
</snippet>

Пашит! Спасибо.

Автор: Алексей1153 22.12.2010, 20:13

igor_bogomolov, креатор версии 2 0 0. Ну, я понял, что он не умеет, но папка со сниппетами то уже есть )) Дразнют. Сменить всё руки не дойдут

kwisp, foreach мне не подходит в 97% случаев

Автор: RazrFalcon 18.1.2011, 13:51

Не получается добавить дополнение вида

qDebug()<<<tab>var</tab>;

гурается на "<<" , как обойти это?

Автор: igor_bogomolov 18.1.2011, 14:08

Ряд символов в языке XML зарезервирован и должен представляться специальным образом:

левая угловая скобка ("<")                   &lt;
правая угловая скобка (">")                  &gt;
амперсант ("&")                              &amp;
двойная кавычка (") в значениях атрибутов    &quot;
одинарная кавычка (') в значениях атрибутов  &apos;

Автор: RazrFalcon 18.1.2011, 14:22

Спасибо!

<snippet>qDebug()&lt;&lt;<tab>var</tab>;
</snippet>

Автор: RazrFalcon 27.3.2011, 19:54

<_<
В новом креаторе переделали синтаксис снипетов.
Теперь выглядит примерно так:

<snippet group="C++" trigger="qDebug">qDebug()&lt;&lt;$var$;
</snippet>

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)