[Lazarus] Updating procedure signatures
Mattias Gaertner
nc-gaertnma at netcologne.de
Tue Jun 25 13:04:08 CEST 2013
Hi all,
Code completion can now update procedure signatures. For example:
procedure DoSomething;
implementation
procedure DoSomething;
begin
end;
Now add a parameter c:char to the interface procedure:
procedure DoSomething(c: char);
Place cursor on this declaration and invoke code completion
(Ctrl+Shift+C). This will replace the signature in the
implementation section.
procedure DoSomething(c: char);
implementation
procedure DoSomething(c: char);
begin
end;
Note: It does not work backward from implementation to interface.
How it works:
codetools tries to map all interface and implementation procedures.
First by name+param list then by name. If this is ambiguous (e.g. there
are two DoSomething and you changed both parameters) then codetools
will not update the signature and instead create a new implementation.
You can undo this.
Options:
By default code completion updates all signatures it can map. If you
only want single updates, disable the option Tools / Options /
Codetools / Code Creation / Update multiple procedure signatures.
There is now an option to disable the same for methods:
Tools / Options / Codetools / Class Completion / Update all method
signatures
Mattias
More information about the Lazarus
mailing list