Название: Как увеличить размер окно дополнения кода в QtCreator Отправлено: vaginoid2 от Январь 26, 2010, 18:23 Здравствуйте!
Пользуюсь Qt уже давно, и возник следующий вопрос: как увеличить размер окна дополнения кода в QtCreator (вызываемый по Ctrl+Space), а то он маловат - всего 10 строк. С уважением, zdo. Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: niXman от Январь 26, 2010, 19:16 кстати да, сам задавался таким вопросом.
Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: xokc от Январь 26, 2010, 21:20 Вариант найти в исходниках, исправить и пересобрать - не предлагать?
Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: vaginoid2 от Январь 26, 2010, 22:11 Если будете предлагать, будьте любезны, укажите {файл|функцию|переменную} в базе исходников, где необходимо копать ;)
А то я не нашел. Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: crackedmind от Январь 27, 2010, 04:26 Да было бы не плохо если б кто-то патч сделал, с выводом этого в настройки :) Затем отправить мерж реквест на гиториосе, глядишь в следующей мажорной версии этот патч и включат))
Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: SABROG от Январь 27, 2010, 10:16 Полагаю здесь: $QTCREATOR/src/plugins/texteditor/texteditorplugin.cpp
Код
Да было бы не плохо если б кто-то патч сделал, с выводом этого в настройки :) Затем отправить мерж реквест на гиториосе, глядишь в следующей мажорной версии этот патч и включат)) Это плагино-зависимые настройки, если плагин сам добавляет свою страницу настроек в "параметры", то есть смысл его изменить, а если элементы в "Редактор кода" жестко проставлены в creator'e, то нужно придумывать другой способ. Например как в Инструменты->Редактор форм->Настройки формы. Иначе при использовании стороннего плагина для редактирования кода настройка окажется бесполезной и вообще не к месту. Кроме того надо будет менять систему загрузки и сохранения параметров/конфигурации. Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: crackedmind от Январь 27, 2010, 12:55 Цитировать Это плагино-зависимые настройки, если плагин сам добавляет свою страницу настроек в "параметры", то есть смысл его изменить, а если элементы в "Редактор кода" жестко проставлены в creator'e, то нужно придумывать другой способ. Добавляет конечно. Глянь пункт "Text editor" в настройках :) Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: SABROG от Январь 27, 2010, 13:59 Цитировать Это плагино-зависимые настройки, если плагин сам добавляет свою страницу настроек в "параметры", то есть смысл его изменить, а если элементы в "Редактор кода" жестко проставлены в creator'e, то нужно придумывать другой способ. Добавляет конечно. Глянь пункт "Text editor" в настройках :) Она то там есть. Но если человек поставит свой плагин для редактирования кода останется ли она там (страница настроек редактора)? Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: crackedmind от Январь 27, 2010, 14:08 TextEditor базовый плагин для плагинов редакторов кода. И должны на нем основыватся.
Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: vaginoid2 от Январь 27, 2010, 17:19 Цитировать Полагаю здесь: $QTCREATOR/src/plugins/texteditor/texteditorplugin.cpp #define NUMBER_OF_VISIBLE_ITEMS 10 Спасибо! Сегодня вечером посмотрю. Если это так, то можно сделать следующее: Изменить #define NUMBER_OF_VISIBLE_ITEMS 10 на, например, uint_32 NUMBER_OF_VISIBLE_ITEMS = 10; и найти функцию, которая использует данный параметр. В этой функции вместо просто жесткого подставления значения NUMBER_OF_VISIBLE_ITEMS дописать код, считывающий значение из файла (например, "%QTDIR%/vis_items_count") и сохраняющий его в эту переменную, а далее так как есть. То есть, для того чтобы изменить число видимых элементов, надо изменить файл и перезапустить QtCreator. Вечером посмотрю, возможно ли это сделать. Я считаю, делать плагин - это хорошо, но, возможно, прийдется сделать ГОРАЗДО больше, чем я написал выше. Лично мне все равно, где находятся настройки и как я их буду редактировать - на форме или в конфиге. Думаю, усложнять жизнь написанием плагинов не стоит, а сделать маленькую заплатку, позволяющую изменять искомый параметр - это правильный вариант. Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: vaginoid2 от Январь 27, 2010, 19:27 Ура :D, у меня получилось нечто:
(http://img251.imageshack.us/img251/6227/qt2.png) (http://img638.imageshack.us/img638/3592/qt3.png) Первый скрин - я добавил опцию - она выделена. Второй - как это выглядит. Измененные исходники: http://depositfiles.com/ru/files/j5sb5wabq Там недоработано сохранение изменений после выхода - доработаю в последствие. Слушаю ваши мнения. Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: niXman от Январь 27, 2010, 19:31 супер!
доделай, и троллям высылай) Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: niXman от Январь 27, 2010, 19:33 vaginoid2, не могли бы вы перезалить архив куда-то типа rghost.ru ;)
а то на depositfiles.com меня забанили ;D Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: vaginoid2 от Январь 27, 2010, 19:46 Пожалуйста: http://rghost.net/898443 (http://rghost.net/898443).
Кто будет компилить, учтите - это сорцы для qt 4.6. SABROG писал: Цитировать Полагаю здесь: $QTCREATOR/src/plugins/texteditor/texteditorplugin.cpp Но это объявление было у меня в файле completionwidget.cpp. Скорее всего у SABROG другая версия qt.#define NUMBER_OF_VISIBLE_ITEMS 10 Файлы из архива нужно скопировать в (по аналогии): /home/zdo/Download/qt-creator-1.3.1-src/src/plugins/texteditor. Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: SABROG от Январь 27, 2010, 20:18 Но это объявление было у меня в файле completionwidget.cpp. Скорее всего у SABROG другая версия qt. Да нет, та же версия. Просто у меня было одновременно открыто несколько исходников и я не туда посмотрел. У меня другое предложение. Почему бы вместо этой настройки не добавить в этот CompletionWidget обычный QSizeGrip(), чтобы получилось как я делал здесь: (http://wiki.crossplatform.ru/images/0/0f/Qsizegripml5.gif) А уже измененный размер сохранять при выходе и загружать при входе в Creator. Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: b-s-a от Январь 27, 2010, 21:25 vaginoid2, надеюсь ты не сделал NUMBER_OF_VISIBLE_ITEMS банально (глобальной) переменной? Просто в этом случае твои изменения будут отклонены троллями, так как стиль именования не соответствует требованиям.
Вариант SABROG тоже интересный, но не лишен потенциальных проблем. Что будет, например, если по каким-то причинам подсказка растянется так, что ухватить ее за угол. Поэтому было бы здорово, чтобы это было и настройкой, и можно было растягивать. Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: vaginoid2 от Январь 27, 2010, 21:49 NUMBER_OF_VISIBLE_ITEMS и так была глобальной переменной (однако объявлена в cpp-файле)(точнее это я ее сделал ПЕРЕМЕННОЙ, раньше она была просто define'ом).
Я просто сделал статические паблик методы доступа для этой переменной из класса, который ее использует по прямому назначению - ComplectionWidget. Эти методы вызываются во время сохранения настроек при закрытии окна опций и один раз во время создания TabSettings (пришлось это сделать принудительно, а то настрока инициализировалась только после открытия-закрытия окна опций). Я не помню уже, какие файлы изменял, поэтому выкладываю архив всей папки .../src/plugins/texteditor. Также для тех, кто не хочет самостоятельно собирать QtCreator, я выкладываю два файла, которыми нужно заменить старые файлы: по пути (поменяйте по аналогии) /home/zdo/qtsdk-2010.01/lib/qtcreator/plugins/Nokia лежат два файла: libCppEditor.so и libTextEditor.so. Замените их файлами из архива и запустите QtCreator. Появится новая опция как на первом скрине - изменять ее. Сейчас сижу под Линуксом, буду в винде - проверю как работает. Или проверьте кто-нибудь, заменив собранные мной библиотеки. ZdoPatch_src.tar.gz - сжатая папка .../src/plugins/texteditor. ZdoPatch_bin.tar.gz - два файла, которыми нужно заменить одноименные в папке %QTSDK%/lib/qtcreator/plugins/Nokia. Отпишитесь, кто попробовал. И еще: объясните пожалуйста, или киньте линк, как работает схема включения внешних исходников в главную ветку у Qt (если надумаю отправлять исходники в Qt)? http://rghost.net/899150 - ZdoPatch_bin.tar.gz (425 KB) http://rghost.net/899152 - ZdoPatch_src.tar.gz (5 MB) 2 SABROG: Ваш вариант тоже интересен, однако я увидел, что ширина окошка автодополнения регулируется автоматически, причем по необходимости - то есть будет ширина под максимальную длину строки. Я решил сделать иначе, чем у Вас на картинке, поскольку опция, которую я вывел в окно настроек, просто указывает _максимальную_ высоту окна автодополнения в строках. Я лично никогда не сталкивался с необходимостью изменять размер окна автодополнения с помощью sizegrip'а. Хотя я попробовал реализовать Ваш вариант, сделав в свойствах окна автодополнения не Popup, а Window. Да, размер стало можно изменять, но слишком большой стала строка заголовка - загораживала код. Возможно, есть способ реализовать Вашу идею иначе и грамотнее, чем это сделал я, но я решил остановиться на своем варианте. P.S. Кстати, спасибо niXman за ссылку на rghost.ru - я не знал :). Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: niXman от Январь 27, 2010, 22:08 ubuntu-9.10, бинарник работает. спасибо.
неплохо бы еще в ширину изменять. а то при работе с boost мало что понятно) Цитировать P.S. Кстати, спасибо niXman за ссылку на rghost.ru - я не знал всегда пожалуйста. раздаю только по блату ;D никакой рекламы. возможность создавать свои коллекции файлов. так же приватные файлы поддерживаются. объем одного файла до 200мб. суммарный объем коллекции неограничен(в пределах разумного конечно ;) )Цитировать однако я увидел, что ширина окошка автодополнения регулируется автоматически, причем по необходимости - то есть будет ширина под максимальную длину строки. что-то у меня ничего не расширяется :(Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: vaginoid2 от Январь 27, 2010, 22:29 Цитировать что-то у меня ничего не расширяется Я имел ввиду, что обновление ширины окна автодополнения происходит при:1. Нажатии ctrl+space; 2. Печатании букав при открытом окошке автодополнения (в этом случае список сокращается под набранный шаблон). Если же нажать ctrl+space и прокручивать список, например, колесиком, то тогда да, ширина не изменяется под максимум. Если я правильно понял исходник, то Вы сделали так, как я написал в предыдущем предложении. Попробуйте сделать как во втором пункте. Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: niXman от Январь 27, 2010, 22:35 да, и правда расширяется.
еще раз спасибо. Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: vaginoid2 от Январь 27, 2010, 22:37 Пожалуйста. Сам сейчас пишу с помощью boost'а, поэтому немного удивился Вашей проблеме :).
Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: b-s-a от Январь 27, 2010, 22:47 NUMBER_OF_VISIBLE_ITEMS и так была глобальной переменной (однако объявлена в cpp-файле)(точнее это я ее сделал ПЕРЕМЕННОЙ, раньше она была просто define'ом). Разницу между макросом и переменной знаешь? По стилю кодирования принятому в Qt они должны различаться. Переменная должна быть camelCase, а макрос большими буквами с подчеркиваниями.Статические переменные это плохо. Поэтому лучше сделать этот параметр атрибутом класса. Я понимаю, что это сложней, но это правильно. И не будет в виде костыля. Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: vaginoid2 от Январь 27, 2010, 22:56 Флаг Вам в руки.
Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: biz_0n от Февраль 15, 2010, 23:57 а возможно как-нибудь сделать авто дополнение кода не по нажатию Ctrl+Space, а автоматически?
Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: b-s-a от Февраль 16, 2010, 17:10 а возможно как-нибудь сделать авто дополнение кода не по нажатию Ctrl+Space, а автоматически? Конечно. Допиши штатное автодополнение и добавь галочку в настройки для включения автоматического режима.Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: biz_0n от Февраль 16, 2010, 19:32 Почему-то я ждал такого ответа, ну ладно, наверное придётся рыться в коде. Может кто-то подскажет в каком направлении копать?
Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: b-s-a от Февраль 16, 2010, 21:11 Может кто-то подскажет в каком направлении копать? В направлении плагинов cppeditor и texteditor (completionsupport.*).Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: biz_0n от Февраль 16, 2010, 21:22 да, спасибо. Нашёл то, что нужно в файле /src/plugins/texteditor/texteditorplugin.cpp
там есть такие строки Код: // Make sure the shortcut still works when the completion widget is active идея примерно такая, нужно заменить QKeySequence(tr("Ctrl+Space")) на весь алфавит, но тут возникла другая проблема, при нажатии на клавиши вызывается окно авто дополнения, но сама буква не печатается. Как с этим бороться? Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: b-s-a от Февраль 17, 2010, 00:42 Думаю, не надо пытаться отлавливать буквы. Нужно активировать автодополнение, например, после набора 3-5 первых символов.
Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: biz_0n от Февраль 17, 2010, 02:06 ну может быть, хотя я как-то привык к мгновенно открывающемуся меню автодополнения, как-то быстрее пишется :)
Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: b-s-a от Февраль 17, 2010, 11:50 ну тогда по первой букве (лучше повесить на настройку). Посмотри, как делается "дополнение" в случае нажатия набора точки или ->
Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: biz_0n от Февраль 18, 2010, 00:57 мдяя, что-то сложновато мне разобраться в этом, ладно, может позже займусь.
Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: b-s-a от Февраль 18, 2010, 12:32 Запости (только сначала поищ) хотя бы предложение на багтрекере.
Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: biz_0n от Февраль 28, 2010, 02:22 Разобрался я с этим автодополнением, там оказалось всё не так сложно, полностью разобрался и реализовал всё за одну пару. Теперь можно включать/отключать автоматическое дополнение и изменять номер символа, после которого оно будет включаться. Завтра всё красиво оформлю, допишу настройку для увеличения окна дополнения кода и выложу исходники.
Сейчас думаю как сделать автодополнение регистронезависимым. Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: b-s-a от Март 01, 2010, 00:04 Ты не код выкладывай, а MergeRequest сделай.
Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: biz_0n от Март 01, 2010, 00:36 Может я сейчас и туплю, но что это такое?
Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: crackedmind от Март 01, 2010, 09:23 Запрос на внесение твоего кода в основную ветку Qt Creator на gitorious :)
Ну и кстати. (http://rghost.ru/1074366/thumb.png) (http://rghost.ru/1074366.view) Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: b-s-a от Март 01, 2010, 14:04 Может я сейчас и туплю, но что это такое? Вот тут (http://www.prog.org.ru/topic_10110_0.html) описано, что нужно для этого сделать. Кстати, рекомендую вносить изменения относительно ветки мастер, а не тех исходников, что есть у тебя.Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: b-s-a от Март 17, 2010, 12:27 biz_0n, как успехи? Что-то я еще не встречал в Qt Creator результатов твоей работы. Думаю, многим бы она понадобилась. Если не можешь разобраться, как отправить изменения разработчикам, то пиши в ПМ, расскажу.
Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: niXman от Март 17, 2010, 13:58 прошу прощения за оффтоп.
скажите, помнится мне, где-то на форуме, выкладывали ссылку на инфу по написанию плагинов для криейтора. не ткнете носом? ;) Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: biz_0n от Март 19, 2010, 15:46 у меня просто не было времени отправить, да я сильно и не разбирался как там отправлять. В принципе нужно этим заняться. Постараюсь на выходных выложить. Там ещё пару строк подпилить нужно.
Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: skydion от Март 23, 2010, 15:01 Ну, а все таки идейку сделать окно выпадания с резайзом можно сделать?
А то попадаются класы в которых доплонение глючит, тоесть окрывается слишком узкое окно в QPrinter вроде можно глянуть в чем проблема. пс. сам делал, но что-то сохранять параметры настройки не получилось да и времени не было... Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: biz_0n от Март 24, 2010, 11:35 там с сохранением настроек проблем вроде никаких нету, там есть два метода initialize и shutdown. Такие методы есть во всех плагинах в файлах под названием *название плагина*plugin.h/.cpp. В них есть такие строки:
settings->setValue(QLatin1String("PartiallyComplete"), m_completion->isPartialCompletionEnabled()); - это сохранение параметров m_completion->setPartialCompletionEnabled(settings->value(QLatin1String("PartiallyComplete"), true).toBool()); - это восстановление я нашёл такое в cpptools P.S. а может я сюда кину свою доработку, а кто-то опубликует их? P.P.S а дополнять и писать свои плагины прикольно, мы с одногрупником думали написать дерево классов туда, о пока забили =( Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: b-s-a от Март 24, 2010, 12:22 а может я сюда кину свою доработку, а кто-то опубликует их? Можешь, если не претендуешь на авторство. Тролли отклоняют мержи, автор которых отличается от создателя мержа.Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: biz_0n от Март 27, 2010, 01:41 гы, нашёл пару косяков, нужно будет исправить
Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: zenden от Март 27, 2010, 11:32 вопрос: а зачем при открытии окна автодополнения пропадает курсор мыши в окне редактора??
меня это сильно бесит! не могу определить, где находится курсор мыши Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: b-s-a от Март 28, 2010, 15:34 zenden, у тебя какой-то глюк.
Название: Re: Как увеличить размер окно дополнения кода в QtCreator Отправлено: KuZ от Март 28, 2010, 16:02 у меня тоже такое(курсор пропадает) бывает.
|