Creating a multi-file template – Slick EDIT V3.3 User Manual

Page 137

Advertising
background image

class $safeitemname$ {

};

Creating a Multi-file Template

A multi-file template is a template item that creates more than one file.

Multi-file templates require the use of substitution parameters to ensure that file name and extension parts
are used when creating each file of the template item. For example, a C++ class typically consists of:

• A .h file that contains the class definition.

• A .cpp file that contains the class implementation.

Since you can only enter one name into the Name field on the Add New Item dialog box, you need a way
to specify the target file name for each file created by the multi-file template. In the C++ class example be-
low, the .h and .cpp files are created with the name you provide, while their extensions are preserved.

To create a multi-file item template from the Template Manager dialog, click File

SlickEdit Template

Manager.

To manually create a multi-file item template:

1. Create the item template the same way a single file template would be created. For more information

on manually creating a template item, see

Manually Creating a Template

.

2. Add TargetFilename attributes to each of the File elements in your template metadata file

(.setemplate). Set the value of each TargetFilename attribute to $fileinputname$.<extension>,
where <extension> is the file extension of the target file name being created. When the files are cre-
ated, their names will be based on the name you entered in the Name field of the Add New Item dialog
box. See the example below.

Example

The following example demonstrates a multi-file item template .setemplate file. The item creates C++
class header (.h) and implementation (.cpp) files.

<?xml version="1.0" ?>

<!DOCTYPE SETemplate SYSTEM

"http://www.slickedit.com/dtd/vse/setemplate/1.0/setemplate.dtd">

<SETemplate Version="1.0" Type="Item">

<TemplateDetails>

<Name>My C++ Class</Name>

<Description>My complete C++ class header and implementation</Description>

<DefaultName>MyClass.cpp</DefaultName>

</TemplateDetails>

<TemplateContent>

<Files>

Manually Creating a Template

115

Advertising