有没有办法将选定的代码插入模板两次?

时间:2013-08-20 13:24:03

标签: delphi templates

我在Delphi XE中创建了一个模板,经常使用它

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

<codetemplate   xmlns="http://schemas.borland.com/Delphi/2005/codetemplates"
                version="1.0.0">
    <template name="noado" surround="true" invoke="manual">
        <description>
            no ado
        </description>
        <author>
            BVA
        </author>
        <code language="Delphi" delimiter="|"><![CDATA[{$ifndef no_ado}
|selected||*||end|
{$endif}]]>
        </code>
    </template>
</codetemplate>

现在看起来像这样

{$ ifndef no_ado}
|选择|
{$ ENDIF}

我希望通过制作类似的东西来简化我的工作

{$ ifndef no_ado}
|选择|超载;不推荐使用'使用AppData';
{$ ENDIF}
|选择|过载;
// ------------------------------------------

1 个答案:

答案 0 :(得分:0)

我解决了我的问题。 // -------------------------------------- 1模板     

<codetemplate   xmlns="http://schemas.borland.com/Delphi/2005/codetemplates"
                version="1.0.0">
    <template name="noado" surround="true" invoke="manual">
        <description>
            no ado
        </description>
        <author>
            BVA
        </author>
        <code language="Delphi" delimiter="|"><![CDATA[{$ifndef no_ado}
|selected| overload; deprecated {$IF CompilerVersion > 21}'Use AppData'{$IFEND};
{$endif}
|end| overload;
//------------------------------------------------------------------------------]]>
        </code>
    </template>
</codetemplate>

// -------------------------------------- 2Template

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

<codetemplate   xmlns="http://schemas.borland.com/Delphi/2005/codetemplates"
                version="1.0.0">
    <template name="noado_func" surround="true" invoke="manual">
        <description>
            no ado
        </description>
        <author>
            BVA
        </author>
        <code language="Delphi" delimiter="|"><![CDATA[{$ifndef no_ado}
|selected|
{$endif}
|end|
//------------------------------------------------------------------------------]]>
        </code>
    </template>
</codetemplate>

这是如何使用模板。
第一个模板用于定义接口
中的功能 1)选择并复制函数定义:函数NameFunc(params);
2)使用模板
3)光标现在位于行的开头,因此只需粘贴复制的代码

第二个模板用于函数体:
1)选择并复制功能的主体
2)使用模板
3)按向上键,然后按向下键(反之亦然),光标将设置在程序段后面 4)粘贴复制的代码

这让我可以快3倍地完成所有更改...