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
