В С# есть отличная конструкция при объявлении свойства {get;set}, при этом поля создаются автоматически. Отлично, подумал я и решил как-то упростить себе задачу объявления полей и свойств в Delphi. Вдохновившись постом Влада Баженова на тему создания шаблонов. я зашел в
1 |
C:\Program Files (x86)\Embarcadero\Studio\17.0\ObjRepos\en\Code_Templates\Delphi |
Нашёл там шаблон propf.xml, и на основе его сделал свой шаблон и сохранил его как отдельный файл с новым именем
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
<?xml version="1.0" encoding="utf-8" ?> <codetemplate xmlns="http://schemas.borland.com/Delphi/2005/codetemplates" version="1.0.0"> <template name="fieldAndProperty" invoke="auto"> <description> Creates a read only property declaration </description> <author> Embarcadero </author> <point name="name"> <text> name </text> <hint> The property name </hint> </point> <point name="type"> <text> type </text> <hint> Type of the property </hint> </point> <point name="getter"> <text> getter </text> <hint> Method or field name for getting the property value </hint> </point> <script language="Delphi" onenter="false" onleave="true"> InvokeClassCompletion; </script> <code language="Delphi" delimiter="|"><![CDATA[ F|name|:|type|; property |name|: |type| read F|name| write F|name|;|end| ]]> </code> </template> </codetemplate> |
Подумал я, что это прекрасно! Теперь, когда нужно объявить свойство, я просто жму на Ctrl+J
Нахожу там fieldAndProperty, жму на Enter и вставляется вот что
Теперь я меняю слово Fname, а оно меняется автоматом везде, аналогично для слова type и для всех слов, обведенных в рамки.