Тела метода снабжения в 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. Это довольно хорошо.