Difference between revisions of "IDE Window: Code Templates"
Line 7: | Line 7: | ||
The texts can contain macros. And you can add your own macros by creating a design time package and using the macrointf.pas of the IDEIntf package. | The texts can contain macros. And you can add your own macros by creating a design time package and using the macrointf.pas of the IDEIntf package. | ||
+ | |||
+ | == Example 1 - ifb == | ||
+ | |||
+ | type | ||
+ | <pre> | ||
+ | ifb| | ||
+ | </pre> | ||
+ | |||
+ | The pipe should represent the cursor. Press Ctrl+j. It will be expanded to | ||
+ | |||
+ | <pre> | ||
+ | if | then begin | ||
+ | |||
+ | end; | ||
+ | </pre> | ||
+ | |||
+ | Again the pipe represents the cursor. You can see the cursor has moved as well. | ||
+ | |||
+ | This template is called 'ifb' and is defined as follows: | ||
+ | <pre> | ||
+ | if | then begin | ||
+ | |||
+ | end; | ||
+ | </pre> | ||
+ | |||
+ | This time the pipe '|' is a real character. It defines the cursor position after inserting the template. | ||
+ | |||
+ | == Example 2 - Using macros == | ||
+ | |||
+ | This example shows how to create a code template 'w' which inserts a line with the current procedure name. | ||
+ | |||
+ | * Click on the 'Add' button. A dialog pops up. Set Token to 'w' and Comment to 'writeln(ProcName)', then click Ok. | ||
+ | * Your new item has been added to the list box. | ||
+ | * In the source below fill in | ||
+ | writeln(' ',|); | ||
+ | * The pipe is really a pipe and defines the new cursor position. Now place the cursor after the first ' and click on the 'Insert macro' button. A dialog pops up showing all available code macros. Choose 'ProcedureName' nd click 'Insert Macro'. You should now have: | ||
+ | writeln('$ProcedureName() ',|); | ||
+ | * Click 'Ok' to save and close the code template dialog. | ||
+ | * Move the cursor into a method bod, type 'w': | ||
+ | For instance: | ||
+ | procedure TForm1.FormDestroy(Sender: TObject); | ||
+ | begin | ||
+ | w| | ||
+ | end; | ||
+ | The pipe should represent here the blinking cursor, not a character. | ||
+ | * Press Ctrl+j. You will get: | ||
+ | procedure TForm1.FormDestroy(Sender: TObject); | ||
+ | begin | ||
+ | writeln('TForm1.FormDestroy ',|); | ||
+ | end; |
Revision as of 23:47, 30 April 2006
What are Code Templates?
Code Templates are texts with an abbreviation. For example: You can type 'cl' in the source editor and then type Ctrl+J to invoke the code templates starting with 'cf'. This feature is a great time saver.
This dialog allows you to edit the existing or add your own templates.
The texts can contain macros. And you can add your own macros by creating a design time package and using the macrointf.pas of the IDEIntf package.
Example 1 - ifb
type
ifb|
The pipe should represent the cursor. Press Ctrl+j. It will be expanded to
if | then begin end;
Again the pipe represents the cursor. You can see the cursor has moved as well.
This template is called 'ifb' and is defined as follows:
if | then begin end;
This time the pipe '|' is a real character. It defines the cursor position after inserting the template.
Example 2 - Using macros
This example shows how to create a code template 'w' which inserts a line with the current procedure name.
- Click on the 'Add' button. A dialog pops up. Set Token to 'w' and Comment to 'writeln(ProcName)', then click Ok.
- Your new item has been added to the list box.
- In the source below fill in
writeln(' ',|);
- The pipe is really a pipe and defines the new cursor position. Now place the cursor after the first ' and click on the 'Insert macro' button. A dialog pops up showing all available code macros. Choose 'ProcedureName' nd click 'Insert Macro'. You should now have:
writeln('$ProcedureName() ',|);
- Click 'Ok' to save and close the code template dialog.
- Move the cursor into a method bod, type 'w':
For instance:
procedure TForm1.FormDestroy(Sender: TObject); begin w| end;
The pipe should represent here the blinking cursor, not a character.
- Press Ctrl+j. You will get:
procedure TForm1.FormDestroy(Sender: TObject); begin writeln('TForm1.FormDestroy ',|); end;