tim-fischertechnik Geschrieben 28. März Geschrieben 28. März Hallo zusammen, oft schreibt man einige Zeilen in Lua, die man nur für Testzwecke geschrieben hat. Diese möchte man oft nicht ganz löschen weil man sie vielleicht später noch braucht und kommentiert diese entsprechend aus. Man kann natürlich händisch Zeilen auskommentieren doch noch praktischer und benutzerfreundlicher wäre es, wenn man mehrere oder eine Zeile zuerst markiert und dann mittels einer Tastenkombination automatisch auskommentiert. In Visual Studio Code gibt es zum mehrzeiligen Auskommentieren folgende Tastenkombination: How to Comment in VS Code - The VSCode Comment Shortcut Windows: Shift + Alt + A Das Ergebnis könnte nach dem Auskommentieren wie folgt aussehen: if controller.state == 0 then --[[ if #layout:getVehiclesOn($("Gleis 1")) > 0 then $("Ausfahrt Gleis 1").active = true else $("Ausfahrt Gleis 2").active = true end --]] end Nach dem "rückgängig machen" des Auskommentierens gäbe es theoretisch zwei Möglichkeiten -- 1. Drei '-' am Anfang des Kommentars if controller.state == 0 then ---[[ if #layout:getVehiclesOn($("Gleis 1")) > 0 then $("Ausfahrt Gleis 1").active = true else $("Ausfahrt Gleis 2").active = true end --]] end -- 2. Brackets komplett entfernen if controller.state == 0 then if #layout:getVehiclesOn($("Gleis 1")) > 0 then $("Ausfahrt Gleis 1").active = true else $("Ausfahrt Gleis 2").active = true end end Dieser Befehl funktioniert in beide Richtungen (toggle). Nicht auskommentierte Codezeilen werden auskommentiert und auskommentierter Code wird er nicht mehr auskommentiert. Beim zeilenweisen Auskommentieren gibt es in Visual Studio Code zwei statt einem Befehl: auskommentieren (comment out) Windows: Ctrl + K + C auskommentieren rückgängig machen (uncomment) Windows: Ctrl + K + U Dabei spielt es beim zeilenweisen Auskommentieren keine Rolle, ob nur eine Zeile markiert wird -- eine einzelne Zeile auskommentieren oder mehrere auf einmal. -- erste Zeile auskommentiert -- zweite Zeile auskommentiert -- nächste Zeile ebenfalls auskommentiert -- alle Zeile haben gemeinsam, dass sie mit '--' statt '--[[ Code --]]' beginnen Wäre so etwas umsetzbar und zielführend? Viele Grüße Tim
Phrontistes Geschrieben 28. März Geschrieben 28. März vor 25 Minuten schrieb tim-fischertechnik: zielführend Und überhaupt wäre eine Entwicklungsumgebung schön.
EASY Geschrieben 28. März Geschrieben 28. März Hallo, vor einer Stunde schrieb tim-fischertechnik: Beim zeilenweisen Auskommentieren gibt es in Visual Studio Code zwei statt einem Befehl: auskommentieren (comment out) Windows: Ctrl + K + C auskommentieren rückgängig machen (uncomment) Windows: Ctrl + K + U Dabei spielt es beim zeilenweisen Auskommentieren keine Rolle, ob nur eine Zeile markiert wird -- eine einzelne Zeile auskommentieren oder mehrere auf einmal. -- erste Zeile auskommentiert -- zweite Zeile auskommentiert -- nächste Zeile ebenfalls auskommentiert -- alle Zeile haben gemeinsam, dass sie mit '--' statt '--[[ Code --]]' beginnen Wäre so etwas umsetzbar und zielführend? ... ist sehr praktisch wenn man verschiedene Lösungswege ausprobieren möchte und auf schnelle Art und Weise zwischen den Lösungen hin und her wechseln möchte oder zum Unterdrücken von Codezeilen bei der Fehlersuche... geht auf jeden Fall schneller, wie die "Lösung" in lua... Gruß EASY
gmd Geschrieben 29. März Geschrieben 29. März (bearbeitet) Hallo, Ich verwende keine kommentare um code zu deaktivieren, auch wenn ich damit microsekunden verschenke. Ich vermisse mehr #region #endregion um code segmente zu kollabieren, da meine skripte sehr umfangreich sind Fuer debug und test verwende ich $("Ereignisse").variables["Debug"] = true $("Ereignisse").variables["ErrorPrint"] = true function IsPrintError () if $("Ereignisse").variables["ErrorPrint"] == true then return true else return false end end function IsDebug () if $("Ereignisse").variables["Debug"] == true then return true else return false end end -- use the debug variable instead of print in the main script (print not implemented yet in MBS) function debugMessage(msg) if IsDebug then $("Ereignisse").variables["DebugOutput"] = msg -- Store only the last message will be displayed in the Eventlist end end Man kann das auch noch differenzieren fuer teile von skitpten mit anderen oder mehrfach bedingungen. Das finde ich wesentlich flexibler. Am editor nerven mich andere dinge: zum beispiel dass der curser mit down nicht and das jeweilige ende der zeile springt, double click drag markiert nicht wortweise sondern nur das erste wort, usw. Verglichen mit einem richtigen editor ist der studio editor ein absolutes spielzeug. Viele teile meine scriptes schreibe ich in Visual Studio Code mit Lua by sumneko. Ich verwende den editor nicht um kleinkram zu testen (zuviel copy und paste), ich konsolidiere meine scripte hier. Da ich nur wenige event module verwende (meist nur globale scripte) is das copy und paste akzeptabel. Trotzdem waere es schoen einen externen editor anschliessen zu koennen wie bei EEP, eines der wenigen features in EEP die ich ok finde. VS Code ist frei, so ist die Lua extension und kann Windows: Shift + Alt + A Gruss Gmd Edit: Posted in the wrong thread Bearbeitet 29. März von gmd
Kai Brendel Geschrieben 29. März Geschrieben 29. März (bearbeitet) Moin... Also da ich kein Freund davon bin auskommentierten Code stehen zu lassen, nutzt ich fast gar nie nie die Blockfunktion, ich meine im richtigen Leben. Des Weiteren sind Blöcke auch sehr nervig bei Suchoperationen. Ein Programm das in mehreren Datei sucht zeigt meistens in einem Ergebnisfenster die Zeile mit dem Treffer, da sieht man dann aber oft nicht ob die Trefferzeile teil eines Blocks ist... In der Delphi IDE gibt zum Multiline-Zeilenweise-Auskommentieren einen einfachen ShortCut: "Ctrl + #". Einfach die Zeile(n) markieren oder die aktive Zeile, und jede Zeile bekommt ein "//" davor, Lua halt "--", oder es wird wieder entfernt wenn vorhanden. Btw: In Delphi ist "Ctrl + K + C" ein "Copies the selected block." :-) Bearbeitet 29. März von Kai Brendel
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen.
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden