Funktion: Der Befehl öffnet den Dialog „Konfiguration für Funktionsextraktion“.
Der Befehl extrahiert aus dem ST-Editor ausgewählte Codestellen und erstellt daraus eine neue Methode oder Funktion, die diesen Code enthält. Der betroffene Code im ST-Editor wird durch einen korrekten Aufruf ersetzt. Wenn Code aus einem Funktionsbaustein oder dem Kind eines Funktionsbausteins extrahiert wird, wird aus dem Code eine neue Methode erstellt. Wenn Code aus einem Programm oder einer Funktion extrahiert wird, wird aus dem Code eine neue Funktion erstellt.
Aufruf: Kontextmenü „Refactoring“
Voraussetzungen, wenn der selektierte Code aus einer oder mehreren Anweisungen besteht:
-
Der selektierte Code enthält keine Übersetzungsfehler
-
Der selektierte Code befindet sich im Implementierungsteil eines ST-Programmierbausteins
-
Der selektierte Code enthält keine ausgehenden Sprünge
Beispiele für ausgehende Sprünge sind:
-
Verlassen der umgebenden Funktion mit
RETURN
-
Verlassen einer den Code umgebenden Schleife mit
CONTINUE
oderEXIT
-
Sie können die durch den Befehl „Funktion extrahieren“ entstandenen Änderungen in Ihrem Projekt wieder rückgängig machen, indem Sie den Cursor im Gerätebaum positionieren und den Befehl „Bearbeiten Rückgängig“ wählen.
„Name“ |
Name für die neu erstellte Funktion oder Methode Der standardmäßig eingetragene Name kann geändert werden. |
„Rückgabewert“ |
Festlegung des Rückgabewerts einer Funktion, wenn es mehrere Ausgabe- und/oder Eingabe-/Ausgabeparameter gibt |
„Parameter“ |
Anzeige der zur Verfügung stehenden POUs Konfiguration, ob die Parameter als Eingabe-, Ausgabe-, oder Eingabe-/Ausgabevariablen verwendet werden
|
|
Die bei „Name“, „Rückgabewert“ oder „Parameter“ durchgeführten Änderunge werden rückgängig gemacht. |
Oberes Codefenster |
Neu erstellter Code der Aufrufstelle |
Unteres Codefenster |
Neu erstellter Code der Funktion oder der Methode |
„OK“ |
Die angezeigten Codeänderungen werden in die ST-Bausteine übernommen und der Dialog wird geschlossen. |
„Abbrechen“ |
Die angezeigten Codeänderungen werden verworfen und der Dialog wird geschlossen. |
Siehe auch
-
linktarget doesn't exist but @y.link.required='true'