Array in der Quelldatei sortieren

1

Ich habe ein Skript mit Notepad ++ geschrieben und darin ein Array fest codiert. Dies ist ein Skript, das ich im Laufe der Jahre erweitert habe und daher das Array "unsortiert" geworden ist. Nehmen wir an, es sieht jetzt ungefähr so ​​aus:

my_array[0] = "bb";
my_array[1] = "aa";
my_array[2] = "cc";
my_array[3] = "ab";

Ich möchte es stattdessen so aussehen lassen:

my_array[0] = "aa";
my_array[1] = "ab";
my_array[2] = "bb";
my_array[3] = "cc";

Dh ich möchte das Array "sortieren", damit es in der Skriptdatei besser aussieht und es einfacher ist, irgendeinen Wert zu finden, den ich ändern möchte.

Gibt es eine Funktion zum Ändern des Texts im Skript in Notepad ++? Wenn ja, wie würde ich das machen?

Eirikdaude
quelle

Antworten:

4

Ich konnte keinen direkten Weg finden, um diese Art der spaltenbasierten Sortierung durchzuführen, obwohl möglicherweise ein Plugin verfügbar ist, das Abhilfe schafft (für den Datensatz hat TextFX nicht funktioniert). Hier ist stattdessen der leichte Umweg:

  1. Verwenden Sie die Pfeiltasten Alt+ Maus oder Shift+ Alt+, um nur die Array-Indizes 0-3 auszuwählen und zu löschen. Sie werden am Ende mit:

    my_array[] = "bb";
    my_array[] = "aa";
    my_array[] = "cc";
    my_array[] = "ab";
    
  2. Wählen Sie Bearbeiten> Linienoperationen> Linien in aufsteigender Reihenfolge sortieren.

    my_array[] = "aa";
    my_array[] = "ab";
    my_array[] = "bb";
    my_array[] = "cc";
    
  3. Positionieren Sie nun den Textcursor zwischen den beiden eckigen Klammern in der ersten Zeile. Gehen Sie zu Bearbeiten> Spalteneditor (oder drücken Sie Alt+ C), geben Sie die Werte wie unten gezeigt ein und klicken Sie auf OK:

    1

    Das Endergebnis wird das sein, was Sie wollen, dh:

    my_array[0] = "aa";
    my_array[1] = "ab";
    my_array[2] = "bb";
    my_array[3] = "cc";
    
Karan
quelle
Danke für die Antwort. Ich hatte gehofft, es gäbe eine einfachere Möglichkeit, dies zu tun, aber wenn nicht am nächsten Tag jemand anderes eine bessere Lösung findet, werde ich dies als akzeptierte Antwort markieren.
Eirikdaude
Sie können die Daten auch spaltenweise auswählen (dh bis zum Gleichheitszeichen), an einer anderen Stelle einfügen, sortieren und wieder einfügen. Dies setzt voraus, dass die Indizes im Array richtig sortiert sind. Wenn dies nicht der Fall wäre, würde ich Excel verwenden, um das fest codierte Array nach dem Sortieren der Daten neu zu erstellen.
Martin Argerami
@ MartinArgerami: 1) Wird nicht wirklich ein einfacher Weg sein. 2) Ich habe es tatsächlich versucht, aber das Einfügen scheint in NP ++ im Spaltenmodus nicht so zu funktionieren, wie ich es erwartet hatte. Anstatt aa, ab, bb, cc in eine Zeile einzufügen, habe ich 4 Kopien von aa, ab, bb, cc erhalten. Wenn es so funktioniert, wie Sie es vorschlagen, lassen Sie es mich wissen, nur um meine Neugier zu befriedigen.
Karan
Mein schlechtes dann. Ich nahm an, dass das Einfügen einer Spalte funktionieren würde.
Martin Argerami