как я могу сделать шаблон Delphi типа Surround?

я переношу свое приложение на delphi 2009. мое приложение все еще должно использовать много AnsiString. во время миграции я всегда конвертирую:

abc := def;

в:

abc := string(def);

or

abc := TDeviceAnsiString(def);

я знаю, что должен иметь возможность делать это с помощью шаблонов, но я считаю, что шаблоны, хотя и мощные, не так просто заставить работать. вот что я пытался:

<?xml version="1.0" encoding="utf-8" ?>

<codetemplate   xmlns="http://schemas.borland.com/Delphi/2005/codetemplates"
                version="1.0.0">
    <template name="das" invoke="auto">
        <point name="expr">
            <script language="Delphi">
                InvokeCodeCompletion;
            </script>
            <hint>
                MP: TDeviceAnsiString
            </hint>
            <text>
                True
            </text>
        </point>
        <description>
            MP: TDeviceAnsiString
        </description>
        <author>
            Mike
        </author>
        <code language="Delphi" context="any" delimiter="|"><![CDATA[TDeviceAnsiString(|selected|)|end|]]>
        </code>
    </template>
</codetemplate>

он не отображается в меню Surround и не активируется, когда я хочу. я хотел бы быть в состоянии

abc := **das***[tab]*def;

или выберите «def» и используйте «surround», чтобы получить:

abc := TDeviceAnsiString(def);

Спасибо за помощь!


person X-Ray    schedule 29.10.2008    source источник


Ответы (1)


Это должно сделать это:

<?xml version="1.0" encoding="utf-8" ?>
<codetemplate   xmlns="http://schemas.borland.com/Delphi/2005/codetemplates"
                version="1.0.0">
    <template name="das" surround="true" invoke="auto">
        <description>
            MP: TDeviceAnsiString
        </description>
        <author>
            Mike rev François
        </author>
        <code language="Delphi" delimiter="|"><![CDATA[TDeviceAnsiString(|end||selected|)]]>
        </code>
    </template>
</codetemplate>

Добавлено: дополнительную информацию можно найти на Delphi Wiki с помощью Техническая информация о LiveTemplates

person Francesca    schedule 29.10.2008
comment
спасибо Франсуа! это работает отлично. спасибо и за ссылки! - person X-Ray; 29.10.2008