tim-fischertechnik Posted March 28 Posted March 28 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 Posted March 28 Posted March 28 vor 25 Minuten schrieb tim-fischertechnik: zielführend Und überhaupt wäre eine Entwicklungsumgebung schön.
EASY Posted March 28 Posted March 28 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 Posted March 29 Posted March 29 (edited) 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 Edited March 29 by gmd
Kai Brendel Posted March 29 Posted March 29 (edited) 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." :-) Edited March 29 by Kai Brendel
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now