Russian Qt Forum

Qt => Qt-инструментарий => Тема начата: kambala от Январь 31, 2016, 20:24



Название: автоматическое добавление инклудов в QtCreator
Отправлено: kambala от Январь 31, 2016, 20:24
обращаюсь в коде к классу (например, к статическому методу, или вызываю метод у объекта этого класса), который еще не заинклужен, и, естественно, никакого автодополнения нет — нужно бежать вверх, вписывать инклуд и возвращаться назад. можно ли это как-то автоматизировать? может плагин есть какой-то?


Название: Re: автоматическое добавление инклудов в QtCreator
Отправлено: Bepec от Январь 31, 2016, 21:47
я б много чего реализовал, была б нормальная система плагинов.
Начиная от проверки соединений заканчивая автоинклудом при наличии файла.

PS что VS что creator не очень дружелюбны к плагинам :)


Название: Re: автоматическое добавление инклудов в QtCreator
Отправлено: xokc от Январь 31, 2016, 21:57
PS что VS что creator не очень дружелюбны к плагинам :)
Про creator не скажу (хотя наличие, например, плагина для todo говорит об обратном), но VS-то чем в этом смысле не угодил? Visual Assist как мне кажется умеет делать с кодом всё, что только можно. Так что с "дружелюбием" к плагинами у VS всё в порядке.


Название: Re: автоматическое добавление инклудов в QtCreator
Отправлено: xokc от Январь 31, 2016, 22:02
можно ли это как-то автоматизировать?
А как это автоматизировать? IDE-то откуда узнать должна в каком из инклудов находится используемый класс?
P.S. В Делфи был один из плагинов, который позволял по шорткату перейти к строке implementation где обычно пишутся аналоги сишных #include, там дописать нужный модуль и по Esc вернуться к тому месту, в котором был нажат шоркат. Вот такой функционал было бы реализовать просто.


Название: Re: автоматическое добавление инклудов в QtCreator
Отправлено: Bepec от Январь 31, 2016, 22:23
Ну я лично так и не разобрался до конца в процессе построение плагина для VS. Убил на это 3 дня и плюнул, так и не скомпилив ни один плагин.


Название: Re: автоматическое добавление инклудов в QtCreator
Отправлено: kai666_73 от Январь 31, 2016, 23:14
Оо, речь идет об альтинтере из идеи.

Для креатора легко рализовал бы... не отдельным плагином, но правкой cppeditor-a.

Только что-то не клеятся у меня мерджреквесты (( Игнорят их ((
Вот уже почти год висит один (добавляющий правую навигационную панель)...
А теперь еще "account broken"  :-\


Название: Re: автоматическое добавление инклудов в QtCreator
Отправлено: kambala от Февраль 01, 2016, 15:52
можно ли это как-то автоматизировать?
А как это автоматизировать? IDE-то откуда узнать должна в каком из инклудов находится используемый класс?
например, QMessageBox -> #include <QMessageBox>

кажется в нетбинсе (во всяком случае при использовании джавы) есть подобный функционал (вылазит подсказка, предлагающая импортировать нужный класс)


Название: Re: автоматическое добавление инклудов в QtCreator
Отправлено: kibsoft от Февраль 01, 2016, 15:56
Если класс из Qt, то после ввода имени класса можно нажать Alt+Enter.


Название: Re: автоматическое добавление инклудов в QtCreator
Отправлено: ssoft от Февраль 01, 2016, 18:06
Если класс из Qt, то после ввода имени класса можно нажать Alt+Enter.

Кое-где работает. Еще бы свои включения искала).
Вообще давно ищу инструмент, который бы мог проанализировать все #include в проекте на предмет лишних/недостающих/циклических включений.
Может знает кто?


Название: Re: автоматическое добавление инклудов в QtCreator
Отправлено: kai666_73 от Февраль 01, 2016, 22:35
можно ли это как-то автоматизировать?
А как это автоматизировать? IDE-то откуда узнать должна в каком из инклудов находится используемый класс?
P.S. В Делфи был один из плагинов, который позволял по шорткату перейти к строке implementation где обычно пишутся аналоги сишных #include, там дописать нужный модуль и по Esc вернуться к тому месту, в котором был нажат шоркат. Вот такой функционал было бы реализовать просто.
В креаторе, повторюсь, все для этого уже все есть, достаточно посмотреть исходники cpplocator-a
... ну еще хорошо бы быть самим разработчиком и иметь желание реализовать энту фичу :)


Название: Re: автоматическое добавление инклудов в QtCreator
Отправлено: kambala от Февраль 02, 2016, 00:09
Если класс из Qt, то после ввода имени класса можно нажать Alt+Enter.
хы, и правда. спасибо!


Название: Re: автоматическое добавление инклудов в QtCreator
Отправлено: xintrea от Февраль 24, 2016, 13:44
нужно бежать вверх, вписывать инклуд и возвращаться назад. можно ли это как-то автоматизировать?

Поставь закладку, беги вверх, дописывай инклюд и возвращайся к закладке.


Название: Re: автоматическое добавление инклудов в QtCreator
Отправлено: Bepec от Февраль 24, 2016, 14:18
Всего то 3 сочетания клавиш нажать надо и инклуд дописать. Пустяки :)


Название: Re: автоматическое добавление инклудов в QtCreator
Отправлено: kambala от Февраль 24, 2016, 14:41
нужно бежать вверх, вписывать инклуд и возвращаться назад. можно ли это как-то автоматизировать?

Поставь закладку, беги вверх, дописывай инклюд и возвращайся к закладке.
«назад» и так возвращает к предыдущему месту, закладка ни к чему
Всего то 3 сочетания клавиш нажать надо и инклуд дописать. Пустяки :)
первое и третье сочетания я понимаю какие, а второе?


Название: Re: автоматическое добавление инклудов в QtCreator
Отправлено: Bepec от Февраль 24, 2016, 19:51
поставить закладку, перейти вверх, вернуться к закладке.


Название: Re: автоматическое добавление инклудов в QtCreator
Отправлено: kambala от Февраль 24, 2016, 22:49
это решается в столько же сочетаний и без всяких закладок. вот только после перехода вверх надо еще бежать вниз до нужного места чтоб инклуд написать.


Название: Re: автоматическое добавление инклудов в QtCreator
Отправлено: Bepec от Февраль 24, 2016, 22:51
Так мы об автоматизации вроде рассуждаем :D

PS 3 комбинации это ппц много для рутины.


Название: Re: автоматическое добавление инклудов в QtCreator
Отправлено: kambala от Февраль 25, 2016, 11:43
Так мы об автоматизации вроде рассуждаем :D
ну да, а ты о закладках сам начал — они же руками выставляются.

хотя, я не понимаю о чем тут еще идет дискуссия, если правильный ответ уже был дан.