Тела метода снабжения в API инструментов

Несколько лет назад я написал шаблон кода, который взял несколько простых параметров (точек) и создал скелет класса. Поскольку в некоторых телах методов содержался код, я не мог вызвать InvokeClassCompletion и просто поместил реализации с объявлениями (пользователь должен был их переместить).

Мне пришло в голову, что я могу написать механизм сценариев шаблона кода, чтобы вставить эти методы в правильное положение, но я не понимаю, как я должен перемещаться по файлу. В ToolsAPI.pas есть объявления для IOTAEditReader и IOTAEditWriter, но я предполагаю, что отсутствует шаг - конечно, мне не нужно вручную анализировать код Delphi только для того, чтобы найти раздел реализации?

У кого-нибудь есть опыт с этим?

2 ответа

Решение

В среде IDE имеется множество синтаксических анализаторов, но ни один из них не доступен для плагинов IDE (ToolsAPI). Поэтому вы должны написать свой собственный анализатор или использовать существующий, например http://delphiblog.twodesk.com/using-the-castalia-delphi-parser

Вы можете обнаружить, что GExperts или CNPack содержат почти весь необходимый код в одном из мастеров редактора.

Если нет, то эти два - лучший справочник, который я знаю для написания плагинов IDE. Что касается написания парсеров, см. Ответ Андреаса.

Если вам просто нужны более качественные шаблоны кода, вы можете подумать о покупке Castalia, так как она имеет улучшенную функцию шаблона кода по сравнению со встроенными функциями плагина Delphi IDE. Castalia внутренне использует синтаксический анализатор Castalia delphi, упомянутый andreas. Это довольно хорошо.

Другие вопросы по тегам