Jump to content

Empfohlene Beiträge

Geschrieben

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
 

Geschrieben

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

Geschrieben (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. 


vs_code.thumb.jpg.19d08555772774692cd9ec23d5fc8e49.jpg

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 von gmd
Geschrieben (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 von Kai Brendel

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...