пятница, 9 января 2009 г.

Технологии интеллектуального редактирования (Часть I)

Продолжаю публиковать серию заметок начатую мной в заметке "Отличия новых версий Delphi от Delphi 7". Сегодня речь пойдет о технологиях интеллектуального редактирования (в англоязычной терминологии Refactoring). Взамен такого длинного русскоязычного названия я буду применять более короткое – "рефакторинг".

Итак, рефакторинг является одним из наиболее значимых нововведений последних версий Delphi. Ключевой особенностью рефакторинга является то, что перед применением изменений их можно просмотреть, а при необходимости легко отменить.

Начнем, пожалуй, с самых простых сценариев применения рефакторинга с поиска. Рассмотрим первую возможность - "Поиск модуля". Данная возможность позволяет найти необходимый модуль и добавить его к списку подключенных модулей в разделе Interface или Implementation. Кстати сказать, все команды рефакторинга вызываются либо из главного меню среды – Refactorings, либо через контекстное меню редактора кода. Причем можно производить поиск не только по имени модуля, но и по имении функций входяших в него (!!!). На рисунке приведен пример поиска модуля по функции ShellExecute:

При нажатии кнопки OK название модуля ShellAPI добавится в раздел подключенных модулей раздела Implementation.

Еще одна прекрасная возможность поиска - поиск ссылок (FindReference), позволяющаяя найти все упоминания о каком либо идентификаторе во всех связанных файлах проекта.

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

Для поиска локальных идентификаторов можно воспользоваться вариантом этой функции - Find Local Reference. Результат ее действия аналогичен.

Рассмотрим еще одну возможность поиска. Новая возможность называется "Поиск класса" (FindClass), позволяющая находить определения классов по их именам.

Нажав кнопку OK мы перейдем к описанию класса.

На сегодня, пожалуй, все, продолжение в следующих заметках.

1 комментарий:

  1. Любопытно, спасибо за описание. Я сам настолько привык пользоваться рефакторинговыми фишками Modelmaker Code Explorer, что на стандартные даже не смотрел. А стандартные, получается, кое в чём даже превосходят MMX.

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