[FRAGE] Notepad: Klassen-/Funktionsöffnung unterbinden

SteelWheel

New member
Hi zusammen,

ich liebe mein Notepad++ – wirklich. Aber ich habe ein technisches, sehr nerviges Problem und hoffe hier auf eine simple Lösung. Vorab: Auto-Completion verwende ich nicht.

Meine aktuell in Arbeit befindliche Klasse (inhaltlich egal) hat gerade gerade mal 24.000 Zeilen. Ich stecke gerade – da ich Ordnung halte – ziemlich in der physikalischen Mitte dieser Datei.

Alle Funktionen innerhalb dieser einen Klasse sind "ausgeblendet" (man liest somit nur noch Einstufung, Funktion, Name und die erforderlichen Übergabeparameter – grob sieht das hier so aus:
Code:
[+] public function whatEver($a, $b, $c){

So, jetzt kommt der Punkt, der mir auf den SACK (sorry!) geht: Schreibe ich nun eine nächste Funktion, öffnet (!) mir die Nutzung von "{" (geschweifte Klammer; keine ") alle folgenden (!) Funktionen.

Ein Shortcut ist das nicht und wie schon erwähnt: Autocompletion ist nicht erforderlich.

Wer denkt sich denn sowas aus??? Umgekehrt fände ich das durchaus logischer (fange ich eine neue Funktion an, minimiere alle anderen).

Lässt sich das ein für allemal deaktivieren? :icon8:

Nebenfrage: Hat Notepad++ eine Möglichkeit (Shortcut wäre geil), markierten Quellcode auszukommentieren? (also zwischen /* und */ zu packen). [EDIT: Aubacke ... es ist Montag - bitte abhaken!]

Vielen Dank an all die anderen Notepad-Jünger da draußen. ;)

Viele Grüße aus dem verkühlten Norden der Republik.
 
Zuletzt bearbeitet:
Soweit ich das sehe, passiert das nicht, wenn du die automatische Klammernschließung für { aktivierst. Das wäre ev. ein Weg, den du gehen könntest.

PS: 24000 Zeilen sind aber eine Menge... kannst du das nicht weiter runterbrechen?
 
Hey, grüße Dich (mal wieder). Ich mag aber "automatische Klammernschließung" überhaupt nicht - dafür tippe ich zu schnell. Wenn mir jetzt noch jemand dazwischen schreibt, produziert das zügig schlechte Laune.

Für wen sind 24k Zeilen zu viel? Breche ich das runter - wie Du schreibst -, bekomme ich ja wieder ganz andere blöde Nebenwirkungen. Die Performance spürt davon nix. Und leider wird auch 90 % davon immer gebraucht. Kommentare sind noch keine drin ... ist gerade mal ein finsterer Hack. ;)
 
Sei mal nicht so gemein. :D Finster ist es nur, weil jQ ein ziemlich ungewöhnliches Problem hier macht. Der Hack-around ("finsterer Hack") ist eine Pseudo-Lösung, um trotzdem vorwärts zu kommen. Und ansonsten ist das eine Bilderbuch-Struktur: keine God-Functions, sprechende Namen, Sichtbarkeiten blah blah blah ... eine schöne Sache eigentlich - und verdammt schnell (sowohl Performance als auch die Erstellung [angeblich unmöglich]).

So, mein Säbelzahntiger ist müde - der will jetzt pennen und ich mag auch nicht mehr drauf reiten (die Unterhose ist schon ganz durchgescheuert). ... lach ... (ich sag nur FC5) ... macht nicht mehr so lange und bis morgen.
 
Nein, "eher ungewöhnlich". Ich hab jetzt graue Haare im Bart - sieht "alt" aus (böse Zungen in der Agentur sagen schon "Gandalf"). Aber mal zum "Hack-around", welcher vor einer Datenübernahme dokumentintern (ist leider ein HTML-Rekonstrukt erforderlich; DOM-Verschiebung klappt daher nicht) in jQ stattfinden muss: Ich hatte (!; der Hack-around läuft) das Problem, dass ich in einer full-Ajax-App ein Eingabeformular in einer UI.dialog()-Box öffnete und damit - nach Ausfüllen und "Übernehmen" - die Werte daraus zu einer u. U. bestehenden Tabelle ergänze oder diese neu anlege. Nun ist die Struktur recht knifflig und bei der finalen Übergabe per $.post() an den Server eben nicht mehr in einem Form, sondern in einer Tabelle (Stichwort "Usability" - alles feini-fein lesbar, editierbar, löschbar blaaa). Jetzt die X-Akte:

Ich kam partou nicht via .val() an zwei Dinge heran: Checkboxen und Eingabefelder. Die Konsole sagte immer fein "1" (length bzw. "ist es da"), doch bei Nutzung von .val() war es ein Leerstring (nicht einmal undefined). Die Beobachtung war, dass UI gern mal eine vorig benutzte Dialogbox noch vor den Doctype klebte (mit "display:none"; könnte aber auch Firebug sein) und ich u. U. von dort die soeben getätigte Eingabe nicht bekomme. Das stellte sich allerdings als "hübsch mitgedacht, aber nicht korrekt" heraus - die Prüfung via "length" ergab immer nur "1". However ... sowohl bei den Checkboxen musste ein Hack-around her (mit Eventhandler, ob da einer mit dem dicken Finger draufgepatscht hat - toggleClass als Helfer in der Not). Bei dem Eingabefeld klappte das nicht - der Hack-around hier war, dass ich vor Schließen von $.dialog() den Input als data-* Attribut einbinde. Das klappte und ich hatte meine zuvor getätigte Eingabe.

Ich bin der Meinung, dass es an der Mitnahme vom Objekt lag, da ich das übergeben musste - es gibt etwas wie var $tbl = $('.usergroup');. Lustig, dass er hier - bei externer Ausgabe in die Konsole - alles korrekt zeigt. Nur die Änderung nimmt er gar nicht wahr (ja, das Abgreifen aus dem DOM kam wirklich erst an der richtigen Stelle; also nicht zu früh).

Gefühlt meine ich, dass $.append() beim Einbinden in den DOM irgendwas nicht macht - bspw. alle properties setzt. Aber die zeigt mir Firebug dann auch als "leer" an (sind also da). Mein Kollege hatte auch entspechend Fragezeichen auf der Stirn und fand daher meinen Hack-around ziemlich geil (weil es dann doch bestimmt 'ne Stunde ausbremste). Zuguterletzt: Es läuft.

Entweder ist es jQ 2.2.1 oder doch mein Konstrukt mit 3x $.each() und viel $(this) - aber da überschreibt sich nichts, hatte es schon umgeschrieben ... bla bla bla ... nix lief - nur mein Hack-around! ;)

Tjoar ... das ist bei uns jetzt als X-Akte notiert ... ein Fiddle ist nicht möglich, allerdings habe ich in kleinerem Rahmen das getestet (append input und lies mal was daraus aus ... das klappt ja sonst auch, aber irgendwas war unerwartet anders [obwohl alles im Zugriff beim "Daten-Farming"]).

Moral von der Geschichte? Gut, dass es ein internes Tool wird und mit der Außenwelt nix zu tun hat. :D

Schönes WE da draußen ...
 
Klingt komisch... auch wenn ich nicht alles so 100%ig verstanden hab', sollte du eigentlich das machen können:
Ich kam partou nicht via .val() an zwei Dinge heran: Checkboxen und Eingabefelder.
Wobei Checkboxen dabei natürlich ein Sonderfall sind, da der Value ja immer gleich bleibt - egal, ob angehakt oder nicht. Es ändert sich nur der .checked-Status.

ein Fiddle ist nicht möglich
Schade...
 
Zurück
Oben