Страницы

суббота, 29 мая 2010 г.

Эксперты для комфортной работы в Delphi: gExperts

Эксперт (здесь) – это design-time пэкэдж или dll-ка, расширяющая стандартные возможности Delphi.

Меню gExperts - эксперта для Delphi IDE

gExperts – это наверное наиболее старый и популярный набор экспертов с открытым исходным кодом. Работают с Delphi 2 по Delphi 2010. Домашняя страничка эксперта (www.gexperts.org) до сих пор является наиболее полным источником информации по работе с Open Tools Api и написании собственных экспертов. (в момент написания поста, сервер не отвечает, но я надеюсь что это временное явление).

В последние годы этот набор экспертов почти не обновляется. И некоторые его фичи уже реализованы и в другом крупном наборе экспертов – CnPack Wizards (о нём речь пойдёт в следующем посте). Но я до сих пор с удовольствием использую в работе оба набора.

Причина по которой я не хочу отказываться от gExperts – это несколько небольших, но очень удобных фич:

Grep Search

Grep Search - полнотекстовый поиск по файлам проекта/папкам (Alt+Shift+S). Без него как без рук. Умеет искать в .pas и .dfm файлах, искать только в текущем файле, только в файлах текущего проекта, во всех файлах группы проектов, а также в указанных папках. Поиск происходит довольно быстро. Результаты отображаются в виде удобного списка.

Grep Search в Delphi

Я знаю, что в Delphi есть стандартный поиск с аналогичными возможностями, но однажды попробовав gExperts, стандартный Delphi поиск мне стал казаться очень неудобным.

Replace Components..

Заменяет тип выделенных компонент, также умеет заменять все компоненты одного класса на компоненты другого класса, сохраняя настроенные properties.

Диалог замены типа компонента в gExperts

Есть возможность указать правила по которым будет происходить замена. Т.е. указать соответствие свойств одного компонента свойствам другого. На картинке открыто правило преобразования TEdit-a в TMemo.

Редактир правил замены компонентов в gExperts.

Clipboard History

Эту фичу я использую очень редко. Но пару раз она меня очень сильно выручала, помогая восстановить утерянный текст, когда-то скопированный в буфер обмена. Работает, только пока запущена Delphi.

История буфера обмена в gExperts

ToDo List

В отличие от стандартного просмотрщика ToDo заданий, просмотрщик из gExperts умеет показывать задания не только из активного проекта, но и из всех файлов группы проектов. У меня довольно большая группа проектов (более 50), в основном это  пакеты. И видеть весь список целиком – очень полезная фича.

Другие полезные фичи

Эти фичи тоже выглядят довольно полезными. Но я ими особо не пользовался – не прижились.

  • Find Component Reference – позволяет выделить в дизайнере компонент по его имени. Нужно в редакторе кода поставить курсор на имя какого-либо компонента, запустить Find Component Reference и если такой компонент будет найден, то будет показан дизайнер, и этот компонент будет там выделен.
  • Macro Library – позволяет записывать макросы и сохранять и загружать их для дальнейшего воспроизведения. Таким образом можно организовать библиотеку макросов.
  • Code Proofreader – позволяет настроить правила автозамены и форматирования введённого кода.
    • Например заменять “;=” на “:=”.
    • Переводить все объявления стандартных типов в нижний регистр.
    • и другое
  • а также позволяет закрывать ТАБы в редакторе кода по среднему клику мышки (клик колёсиком). Это работает во всех современных браузерах, и пока я не узнал о gExperts, мне этого не хватало в Delphi.
  • и добавляет в Popup Menu палитры компонентов, названия закладок. В отличие от аналогичной фичи CnWizards эти пункты не спрятаны в подменю и пользоваться ими удобнее.

Ссылки по теме


  • Что можно приготовить из чернозема, торфа и различных удобрений? Щебень? Нет-нет-нет. Ответ проще - плодородный грунт, который так ценится садоводами и применяется при выращивании рассады.

9 комментариев:

  1. ToDo List отображает русский текст из открытых файлов проекта кракозябрами. Те строчки, которые "лежат" в еще не открытых файлах - нормально.
    Решение не подскажете?

    ОтветитьУдалить
  2. kossmak, затрудняюсь что-либо посоветовать. Единственная настройка в gExperts связанная с языками, о которой я знаю, относится к Grep Search.

    В силу того, что основной язык для ANSI-программ - это латышский, у меня в Delphi 6, все тексты на русском отображаются кракозяблами. Поэтому я привык писать все комменты и ToDo транслитом или на английском.

    ОтветитьУдалить
  3. Спасибо. Да, латиница это выход, ибо TODO-записи пишутся для себя больше и из релизного кода все равно уберутся.
    Могу отметить, что года два назад todo-list от GExpert у меня вообще не хотел отображать русский текст, правда это может быть связано с недавней переустановкой ОС. Примерно с тех пор ничего и не придумалось, кроме как латиница.

    ОтветитьУдалить
  4. Давно пользуюсь GExperts - это единственный эксперт, что у меня стоит. И стоит он ради Proofreader-а (не только авто-replace, но и по словарю и compiler-assisted замена - вот это вещь) и сортировки строк :)

    ОтветитьУдалить
  5. GunSmoker я когда-то давно пользовался Proofreader-ом, но сейчас он у меня выключен. Попробую ради интереса, включить.

    А сортировкой строк я не пользуюсь. У меня вообще все Editor Experts в gExperts выключены, так всё то же самое и даже больше есть в других экспертах. Зачем она может пригодиться?

    п.с. я использую MMX, CnWizards и gExperts.

    ОтветитьУдалить
  6. >>> Зачем она может пригодиться?

    Я не очень часто этой функцией пользуюсь, но если её нет - то очень сильно её не хватает.

    А нужна она, когда нужно что-то отсортировать :D Например, список методов.

    ОтветитьУдалить
  7. А для сортировки списка методов у меня есть MMX. Он умеет автоматом сортировать методы при добавлении. Я как-нибудь обязательно напишу об этом чудесном эксперте. Без него мне работать ужасно неудобно.

    ОтветитьУдалить
  8. >>>ToDo List отображает русский текст из открытых файлов проекта кракозябрами. Те строчки, которые "лежат" в еще не открытых файлах - нормально.
    Решение не подскажете?


    на сколько мне известно за это отвечает какой то системный файл и хранится он в директориях delphi

    ОтветитьУдалить
  9. >>а также позволяет закрывать ТАБы в редакторе кода по среднему клику мышки (клик колёсиком)

    В современных Дельфях - встроено.
    Сабж юзал на Д7, потом, как перешел на 200*, не стал ставить - в принципе, нехватки не ощущаю.

    ОтветитьУдалить