- Comment / uncomment selected text (Ctrl + /) - Auskommentieren / Kommentar entfernen
- Make FOLD from selected text - FOLD aus dem markierten Text erstellen
- Format indentation - Einrückung formatieren
- Bewegungspunkte in Folds - Warnung und Einfügen neuer Punkte
- Bereich der Signalbeschreibungen - keine Beschreibungen gefunden

KRC » Comment / uncomment selected text (Ctrl + /) und Make FOLD from selected text

Dieselben Funktionen im Kontextmenü des Editors
▲ Comment / uncomment selected text
Ctrl + / kommentiert die aktuelle Zeile bzw. alle Zeilen der Markierung aus (;) oder entfernt den Kommentar.
- Alle markierten Zeilen erhalten denselben Zustand: Ist mindestens eine Zeile nicht auskommentiert, werden alle Zeilen auskommentiert; sind alle Zeilen auskommentiert, wird der Kommentar entfernt. Leere Zeilen werden übersprungen.
- Eine Markierung, die am Anfang einer Zeile endet, schließt diese Zeile nicht ein.
- Ist ein Fold-Kopf markiert, wird der gesamte Inhalt des Folds aus- bzw. einkommentiert (auch bei zugeklapptem Fold). Die Zeilen ;FOLD, ;ENDFOLD und die Parameterzeilen von Inline-Formularen (;%{...}, ;Params) werden nie geändert, sodass der Fold vollständig bleibt.
- Der Programmrahmen (DEF, END, DEFDAT, ENDDAT, Kopfzeilen mit &) wird nicht geändert.
- Bei eingeschaltetem Protect Folds werden einzelne Zeilen innerhalb eines Folds übersprungen - markieren Sie den Fold-Kopf, um den gesamten Fold zu ändern. Die Statusleiste zeigt, wie viele Zeilen geändert und warum Zeilen übersprungen wurden.
- Die Markierung bleibt erhalten, sodass dieselben Zeilen mit dem nächsten Ctrl + / wieder einkommentiert werden können. Edit » Undo macht die gesamte Änderung in einem Schritt rückgängig.

Der Inhalt der Folds P1 und SET OUTPUTS ist auskommentiert - die Fold-Zeilen sind unverändert
▲ Make FOLD from selected text
Fasst die markierten Zeilen in einem neuen Fold zusammen:
;FOLD name
... selected lines ...
;ENDFOLD (name)
Der Dialog fragt nach dem Namen des Folds. Der Name darf leer sein (ein Fold ohne Namen) und darf kein
; enthalten. Das Feld Result zeigt die neuen Fold-Zeilen, darunter steht die Anzahl der in den Fold übernommenen Zeilen.

Make FOLD from selected text - Name des neuen Folds
| Option | Beschreibung |
|---|---|
| Fold name | Text, der im zugeklappten Fold angezeigt wird. Leer - Fold ohne Namen. |
| Hidden fold (;%{h}) | Fügt das Attribut H hinzu: ;FOLD name ;%{h}. Ein versteckter Fold wird dem Bediener auf dem SmartHMI nicht angezeigt und kann dort nicht geändert werden (er wird für die versteckten Parameter von Inline-Formularen verwendet). Standardmäßig deaktiviert - ein Benutzer-Fold hat normalerweise kein Attribut. Die letzte Auswahl wird gespeichert. |

Der neue Fold SET OUTPUTS
Der Fold wird nicht erstellt, wenn:
- nichts markiert ist,
- die Markierung einen Fold schneidet - sie enthält ;FOLD oder ;ENDFOLD ohne das zugehörige Gegenstück (markieren Sie ganze Folds oder nur Zeilen dazwischen),
- die Markierung einen Bewegungspunkt oder einen Teil davon enthält (PTP / LIN / CIRC, FDAT_ACT / PDAT_ACT) - siehe Bewegungspunkte in Folds,
- die Markierung DEF / END oder die erste Zeile des Programms enthält.

Die Markierung enthält einen Teil eines Bewegungspunkts - der Fold wird nicht erstellt
▲ Format indentation
KRC » Format indentation (auch im Kontextmenü des Editors) setzt die Einrückung der markierten Zeilen - oder des gesamten Programms, wenn nichts markiert ist - anhand der KRL-Kontrollstrukturen:
- eine Ebene für IF / ELSE / ENDIF, FOR / ENDFOR, WHILE / ENDWHILE, LOOP / ENDLOOP, REPEAT / UNTIL, SPLINE / PTP_SPLINE / ENDSPLINE; SWITCH: CASE und DEFAULT eine Ebene tiefer, deren Anweisungen zwei Ebenen,
- DEF / END, DEFFCT / ENDFCT, DEFDAT / ENDDAT und die Anweisungen des Programmrumpfs bleiben in der ersten Spalte,
- Benutzer-Folds werden mitsamt ihrem Inhalt formatiert; Folds von Inline-Formularen (Bewegungen, Befehle) werden als Ganzes verschoben - ihre versteckten Zeilen werden nicht geändert,
- leere Zeilen verlieren ihre Leerzeichen; die Größe einer Ebene ergibt sich aus Indentation size / mode in den Editor-Einstellungen (wie bei Edit » Insert indent),
- sind die Strukturen nicht ausgeglichen (z. B. IF ohne ENDIF), zeigt die Statusleiste eine Warnung.

▲ Bewegungspunkte in Folds
Ein Bewegungspunkt (der Fold eines Inline-Formulars mit PTP / LIN / CIRC) wird nur auf der obersten Ebene des Programms erkannt. Ein Punkt innerhalb eines anderen Folds steht nicht in der Punkttabelle, und seine Koordinaten können nicht bearbeitet werden. Aus Sicherheitsgründen sollten Bewegungspunkte nicht in Folds gelegt werden:
- Check syntax zeigt an einem solchen Punkt die Warnung 2511 Motion point inside another fold, mit dem Namen und der Zeile des äußeren Folds.
- Make FOLD from selected text akzeptiert keine Markierung mit Bewegungspunkten.
- Ein neuer Bewegungspunkt (Punkteditor, KRL-Befehle PTP / LIN / CIRC), der eingefügt wird, während der Cursor innerhalb eines Folds steht, wird hinter diesem Fold eingefügt (auch hinter verschachtelten Folds). Die Statusleiste zeigt eine Meldung.

Warnung 2511 - ein Bewegungspunkt im Fold MOJ FOLD
▲ Bereich der Signalbeschreibungen
Der Bereich der Signalbeschreibungen (Langtexte) zeigt Not found mit einem Warnsymbol statt einer Ladeanzeige, wenn für den Roboter keine Beschreibungen gefunden wurden.

Keine Signalbeschreibungen gefunden