Code Cleaner

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Code Cleaner

Beitrag von RSBasic »

Hallo :)

Mit diesem Werkzeug kann der markierte oder komplette Quellcode im Editor bereinigt werden.
Was bereinigt wird, kann man mit den Parametern festlegen.
Es gibt aber auch andere Funktionen, z.B. das Konvertieren aller Zeichen in Großbuchstaben oder in Kleinbuchstaben.

Folgende Parameter können übergeben werden:
  • /OnlySelectedCode
  • /RemoveEmptyLines
  • /RemoveDebugLines
  • /RemoveComments
  • /RemoveDoubleSpaces
  • /RemoveAllSpaces
  • /RemoveSpacesAtEndOfLines
  • /RemoveSpacesAtStartOfLines
  • /ConvertTextToLowerCaseLetters
  • /ConvertTextToUpperCaseLetters
  • /Fold
  • /Unfold
  • /ConvertTabToSpace
  • /ConvertSpaceToTab
  • /SetCursorToTop
  • /SetCursorToBottom
  • /KeepCursorAndFolds
Ihr könnt mehrere Parameter kombinieren oder das Werkzeug mehrfach hinzufügen.

Wenn ihr weitere Parameter haben wollt, dann hier posten.

Installation:
Bild

Download: https://www.rsbasic.de/downloads/downlo ... leaner.zip
Bild

Ich würde mich über Feedbacks, Verbesserungsvorschläge, Fehlermeldungen oder Wünsche sehr freuen. Danke :)
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: Code Cleaner

Beitrag von Josh »

RSBasic hat geschrieben:/RemoveSpacesAtEndOfLines
Das gefällt mir schon mal sehr gut :D

Ich weiß nicht ob es möglich ist und ob es überhaupt zu diesem Tool passt. Ich hätte gerne, dass alle Faltungen geschlossen werden, der Cursor auf Zeile 1 steht und der Sourcecode 'Dirty' gemacht wird, damit er mit Datei > Alles speichern auch wirklich abgespeichert wird.

Ist vielleicht eine Marotte von mir, aber ich habe es halt gern so, wenn meine Projekte so abgespeichert werden :mrgreen:
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Code Cleaner

Beitrag von RSBasic »

Josh hat geschrieben:Ich weiß nicht ob es möglich ist und ob es überhaupt zu diesem Tool passt. Ich hätte gerne, dass alle Faltungen geschlossen werden
Das Schließen aller Faltungen ist möglich. Ich muss mal übrlegen, ob ich diese Funktion in diesem Werkzeug oder besser in einem separaten Werkzeug implementiere, je nachdem, was besser passt, weil dieses Werkezug den Code bereinigt und filtert oder konvertiert.
Josh hat geschrieben:Ich hätte gerne, dass alle Faltungen geschlossen werden, der Cursor auf Zeile 1 steht und der Sourcecode 'Dirty' gemacht wird, damit er mit Datei > Alles speichern auch wirklich abgespeichert wird.
Du möchtest eine Funktion haben, die alle Faltungen schließt und den Cursor auf Position 1 setzt. Das Werkzeug kann man ja dann mit dem Event "Quellcode gespeichert" oder besser "Quellcode geschlossen" verbinden, so dass du nicht manuell mein Tool aufrufen musst, sondern dass mein Tool automatisiert ausgeführt wird. Mein Tool würde die aktuelle Datei nach dem Event erneut speichern, so dass PB die geschlossenen Faltungen und die neue Cursor-Position speichert.
Ist es so, wie du dir das vorstellt oder habe ich was vergessen oder falsch verstanden?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: Code Cleaner

Beitrag von Josh »

RSBasic hat geschrieben:Das Werkzeug kann man ja dann mit dem Event "Quellcode gespeichert" oder besser "Quellcode geschlossen" verbinden, so dass du nicht manuell mein Tool aufrufen musst, sondern dass mein Tool automatisiert ausgeführt wird.
Das würde ich im ersteren Fall als schlecht und im zweiteren Fall als suboptimal bezeichnen:
  • Da F5 ja den Quellcode auch speichert, würden die Faltungen bei jedem Test des Programmes geschlossen.
  • Ich muss Pb von Zeit zu Zeit schließen um es dann sofort wieder zu öffnen, wobei in diesem Fall die geöffneten Faltungen und die Cursorposition erhalten bleiben sollten. Das mit dem kurzzeitigen Schließen hat nur den Grund, weil PB die seltsame Eigenschaft hat, Sourcecodes immer mit der zuletzt gestarteten Version zu öffnen, auch wenn noch eine andere Pb-Version geöffnet ist.
Aber ich glaube, das automatische Starten wäre ohnehin nur eine Option und man kann das Tool auch manuell starten.
RSBasic hat geschrieben:Mein Tool würde die aktuelle Datei nach dem Event erneut speichern, so dass PB die geschlossenen Faltungen und die neue Cursor-Position speichert.
Da bin ich mir eben nicht sicher, ob das mit dem Speichern so einfach funktioniert. Du müsstest den Source irgendwie 'Dirty' machen, damit er auch wirklich gespeichert wird. Faltungen schließen alleine nützt nichts, da das den Code nicht verändert.
RSBasic hat geschrieben:Ist es so, wie du dir das vorstellt oder habe ich was vergessen oder falsch verstanden?
So im groben wäre es das, was ich mir vorgestellt habe :D
IB-Software
Beiträge: 57
Registriert: 29.08.2004 11:05
Computerausstattung: Windows 11
Wohnort: Berlin
Kontaktdaten:

Re: Code Cleaner

Beitrag von IB-Software »

Klappt schon ganz gut; Danke.

Wenn ich aber die Parameter:

Code: Alles auswählen

/RemoveEmptyLines
/RemoveDebugLines
/RemoveComments
nutze, werden zwar die Kommentare gelöscht, es bleiben aber diese Zeilen als Leerzeilen zurück. Selbst dann wenn ich

Code: Alles auswählen

/RemoveEmptyLines
als letzten Parameter setze.
PureBasic 5.73/6.04 Beta 2; Windows 11 Pro 64
Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz 3.19 GHz 16GB; NVIDIA GeForce RTX 3060 16GB
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Code Cleaner

Beitrag von RSBasic »

Die Reihenfolge der Parameter kannst du derzeit nicht ändern bzw. wirkt sich nicht auf meine Abfrage aus. Ich schau mal und passe das an.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Code Cleaner

Beitrag von RSBasic »

Josh hat geschrieben:Das würde ich im ersteren Fall als schlecht und im zweiteren Fall als suboptimal bezeichnen:
Stimmt, du hast Recht.

Dann baue ich ein Tool (oder erweitere dieses Tool) zum manuellen Aufrufen, welches folgendes macht:
-Parameter zum Öffnen aller Faltungen
-Parameter zum Schließen aller Faltungen
-Parameter zum Setzen des Cursors auf angegebene Position
-eventuell ein Parameter zum Einfügen und Löschen eines temporären Leerzeichen, damit der Quellcode als ungespeichert markiert wird*
Josh hat geschrieben:Du müsstest den Source irgendwie 'Dirty' machen, damit er auch wirklich gespeichert wird.
*Ist das wirklich notwendig? Wenn ich im bereits gespeicherten Code eine Faltung nachträglich öffne und Strg + S drücke und PB neu starte, dann hat er die manuelle Faltung korrekt gespeichert.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: Code Cleaner

Beitrag von Josh »

RSBasic hat geschrieben:*Ist das wirklich notwendig? Wenn ich im bereits gespeicherten Code eine Faltung nachträglich öffne und Strg + S drücke und PB neu starte, dann hat er die manuelle Faltung korrekt gespeichert.
Stimmt. Ich war mir 100% sicher, dass dem nicht so ist :oops:
Benutzeravatar
Imhotheb
Beiträge: 192
Registriert: 10.10.2014 13:14
Computerausstattung: Intel 8086, 640 KB RAM, Hercules Video Adapter, 2 x 5 1/4" 360kb Floppy, MS-DOS 3
Wohnort: Wolfenbüttel

Re: Code Cleaner

Beitrag von Imhotheb »

Ich hätte noch einen Vorschlag.

ConvertTabToSpace und ConvertSpaceToTab
weil einfach einfach einfach ist ... mach' ich es anders
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Code Cleaner

Beitrag von RSBasic »

Imhotheb hat geschrieben:ConvertTabToSpace und ConvertSpaceToTab
Sollen wahrscheinlich nur die Zeichen am Anfang jeder Zeile berücksichtigt werden oder?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Antworten