SciTE Kommentar für Variable

  • SciTE Kommentar für Variable

    Hallo,
    Ich hab mir mal das ISN AutoIT Studio von hier runtergeladen und gesehen, dass man sich dort zu jeder Vaiablen eigene Kommentare machen kann.
    Diese Funktion finde ich sehr praktisch, da ich im Moment an einem etwas größerem Programm arbeite, womit man die Spieler auf einem Server und den Server selbst verwalten kann. Dort habe ich die einzelnen Spieler in ein 2D Array geladen. Im ersten Index werden die Spieler durchnummeriert und im 2. stehen einige Informationen, wie z.B. die Nummer auf dem Server, die ID im Forum, die IP, der Name, welches Admin level er hat usw.
    Von solchen Arrays habe ich mehrere. Das einzige Problem ist nur, dass ich immer vergesse, welche Nummer im 2. Index zu welcher Info gehört. Steht die 2 jetzt für den Namen oder für die ID? Wenn ich mir das Oben als Kommentar hinschreibe, kann ich zwar immer nachgucken, aber immer wieder 900 Zeilen hoch und dann wieder zu der Stelle runterzuscrollen ist auch nicht das Wahre.

    Wenn ich aber zu dem Array ein Kommantar machen könnte, was ich mir überall anschauen könnte, wäre das praktischer.
    Deshalb ist meine Frage, ob das auch irgendwie in SciTE geht, bzw. ob ihr andere Tips habt, wie man sich das merken kann. Ansonsten würde ich mireinfach ein paar Variablen machen, die ich dann als Index benutze, also z.B. $iName oder so, aber es ist ja letzendlich im Programm effizienter, wenn ich mit weniger Variablen auskomme.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von klavier22 ()

  • Was hällt dich davon ab zu jedem Var einen Kommentar zu erstellen?

    AutoIt

    1. Global $Var[2] ; Ich bin ein Array
    2. $Var[0] = "Irgendwas" ; Ich bin ein lustiger Kommentar
    3. $Var[1] = "Irgendwas2" ; Ich bin wieder nur ein Kommentar
    MfG Raupi

    Meine UDF´S:
    WM_Notify per Funktion UDF zum Anzeigen von Hilfetexten und einer Uhr in der Statusbar.Anzeige einer Uhr in der Menüzeile
    GIF,JPG und BMP Dateien aus Resource laden.
    Array aus Dll-Datei laden UDF zum schreiben und lesen von Array´s in(aus) ein(em) INI-File
    LUA Script zum erstellen eines Funktionsheaders.
    Tipp: Zum bearbeiten von DLL Dateien kann man den XN Resource Editor benutzen, ist besser als Reshacker

    Sokrates schrieb:

    "Wer weiß, dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß."

    Werner Krauß schrieb:

    Der Witz ist das Erdgeschoss des Humors, die Satire der Erste Stock, die Ironie der Zweite, der Sarkasmus das Mansardenstübchen.
  • die 900 Zeilen halten mich davon ab. Bei kleineren Scripten geht das ja ganz gut, aber wenn man ein etwas größreres Projekt hat, dann ist es doch schon etwas nervig wenn ich immer wieder zu dem Kommentar hin und wieder zurückscrollen darf. Die Funktion, in der die Spieler in das Array geladen werden, sieht so aus:

    Spoiler anzeigen

    AutoIt

    1. Func _LoadPlayers() ; Loads the list of all players playing on the server into the listview $LVPlayers and puts the information in the array $Players
    2. $received = _send(_GUICtrlIpAddress_Get($IIP), GUICtrlRead($IPort), GUICtrlRead($IPassword), "sv players", 1)
    3. If @error = 1 Then
    4. MsgBox(4096, "Rcon Passwort falsch", "Der Server antwortete, dass das Rcon Passwort falsch sei.")
    5. Return 0
    6. ElseIf @error = "2" Then
    7. MsgBox(4096, "Server antwortete nicht", "Der Server antwortete nicht.")
    8. Return 0
    9. EndIf
    10. $VPlayers = StringSplit($received, @CRLF)
    11. If $VPlayers[0] >= "2" Then
    12. $i = $VPlayers[0] - 1
    13. Global $Players[$i][7]; Nummer, Name, Build, ID, OP, IP, BOT
    14. For $i = 1 To $VPlayers[0] - 1
    15. Local $temp = ""
    16. If StringRegExp($VPlayers[$i], "OP \d*\,", 0) Then
    17. Local $temp = StringRegExp($VPlayers[$i], "(\d+) \((\d+?)\)] \* OP (\d+)\, (.*) \(b(\d+)\)", 2) ;bei OP, liefert 6 Elemente
    18. $Players[$i - 1][0] = $temp[1]
    19. $Players[$i - 1][1] = $temp[4]
    20. $Players[$i - 1][2] = $temp[5]
    21. $Players[$i - 1][3] = $temp[2]
    22. $Players[$i - 1][4] = $temp[3]
    23. ElseIf StringRegExp($VPlayers[$i], "\d+ \] \* ", 0) Then
    24. Local $temp = StringRegExp($VPlayers[$i], "(\d+) \] \* (.*) \(b(\d+)\)", 2) ;Ohne ID, liefert 4 Elemente
    25. $Players[$i - 1][0] = $temp[1]
    26. $Players[$i - 1][1] = $temp[2]
    27. $Players[$i - 1][2] = $temp[3]
    28. ElseIf StringRegExp($VPlayers[$i], "\d+ \(bot\)\]", 0) Then
    29. Local $temp = StringRegExp($VPlayers[$i], "(\d+) \(bot\)\] \* (.*) \(b(\d+)\)", 2) ;Falls Bot, liefert Nummer + Name
    30. $Players[$i - 1][0] = $temp[1]
    31. $Players[$i - 1][1] = "(BOT) " & $temp[2]
    32. $Players[$i - 1][2] = 0
    33. $Players[$i - 1][6] = True
    34. Else
    35. Local $temp = StringRegExp($VPlayers[$i], "(\d+) \((\d+)\)\] \* (.*?) \(b(\d*)\)", 2) ;mit ID, liefert 5 Elemente
    36. $Players[$i - 1][0] = $temp[1]
    37. $Players[$i - 1][1] = $temp[3]
    38. $Players[$i - 1][2] = $temp[4]
    39. $Players[$i - 1][3] = $temp[2]
    40. EndIf
    41. Next
    42. $PlayerIPs = _send(_GUICtrlIpAddress_Get($IIP), GUICtrlRead($IPort), GUICtrlRead($IPassword), "sv listuserip", 1)
    43. $PlayerIPs = StringRegExp($PlayerIPs, "\[(\d+\.\d+\.\d+\.\d+)\:\d*\]", 3)
    44. For $i = 0 To UBound($PlayerIPs) - 1 Step 2
    45. If Not $Players[$i / 2][6] Then
    46. $Players[$i / 2][5] = $PlayerIPs[$i]
    47. Else
    48. $Players[$i / 2][5] = _GUICtrlIpAddress_Get($IIP)
    49. EndIf
    50. Next
    51. _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($LVPlayers))
    52. _GUICtrlListView_AddArray($LVPlayers, $Players)
    53. Else
    54. Dim $Players[1][5]
    55. $Players[0][0] = ""
    56. $Players[0][1] = ""
    57. $Players[0][2] = ""
    58. $Players[0][3] = ""
    59. $Players[0][4] = ""
    60. _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($LVPlayers))
    61. EndIf
    62. _ConWrite($EConsole, _GUICtrlListView_GetItemCount(GUICtrlGetHandle($LVPlayers)) & " Spieler wurden geladen.")
    63. EndFunc ;==>_LoadPlayers
    Alles anzeigen


    Ich weiß, die Variablennamen sind nicht grad die besten
    Aber wenn ich jetzt nicht in Zeile 541 (da wo die Funktion steht) bin, sondern irgendwo weiter oben oder unten, dann muss ich jedesmal erstmal hoch und wieder runter scrollen und mir diese Reihenfolge merken. Wenn ich dann wieder unten bin und meine Idee umsetzen will, dann vergesse ich die Reihenfolge wieder und darf dann nochmal gucken. Das ganze könnte ich mir ersparen, wenn ich direkt an der Seite eine Auflistung mit allen Variablen habe und mir zu jeder ein Kommentar machen kann, das ich überall sehen kann.
    Wenn es nicht geht, dann ist es auch nicht so schlimm, kann man sich ja im Prinzip auch selber basteln oder man definiert sich Konstanten wie $iName welche man dann als Index nimmt.

    Wäre nur die einfachste Lösung.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von klavier22 ()

  • In der ISN AutoIt IDE gibt es rechts so einen TreeView. Dort sieht man alle GUI Elemente, Funktionen und Variablen, die man genutzt hat. Und dort kann man der Variable / Funktion / dem GUI Element einen Kommentar hinzufügen. Ich hätte diese Funktion gerne in SciTE, dass ich einer Variable einen Kommentar hinzufügen und diesen überall anzeigen lassen kann. Denn, wie beschrieben, ich habe ein Array, wo ich mir nie den Index zu dem Inhalt merken kann :D
    Deine Idee hört sich schonmal ein bisschen danach an.

    Bzw. Ist es möglich, dass man in AutoIt das Sript aus SciTE lädt? Dann würde ich einfach ein kleines Script bauen, was diesen Job für mich erledigt

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von klavier22 ()

Webutation