Problem mit SciTE

  • Hallo,

    heute habe ich eine Frage an die SciTE-Spezialisten.


    Ich habe ein eigenes Verzeichnis : "C:\Eigene_Includes\" für meine Funktionen angelegt.

    Darin habe ich meine Include-Datei: "_EigeneFunktionen.au3" gespeichert.


    Den Pfad zu dem eigenen Include-Verzeichnis: "C:\Eigene_Includes\" habe ich auch in der Registry eingetragen.


    Im AutoIt-Script habe ich die Include-Datei, mit: "#include "_EigeneFunktionen.au3" includiert.


    Lasse ich jetzt den "SyntaxCheck Pro" von SciTE auf dieses Script los, so meldet der mir auch keinen Fehler.

    Auch wenn ich das Script mit "F5" in Scite starte, funktioniert alles richtig.

    Auch das Script kompilieren geht auch ohne Fehler. Also wird die eigenen Include-Datei doch gefunden.


    Aber wenn ich in SciTe "Jump to Funktion Prod" wähle, so meldet SciTe immer "Unable to find function definition:".


    Und jetzt kommts.

    Wenn ich aber bevor ich "Jump to Funktion Prod" wähle, die Include-Datei: "_EigeneFunktionen.au3" in SciTe öffne und sofort wieder schließe, funktioniert auch "Jump to Funktion Prod" wieder so wie es soll.

    Schließe ich aber SciTe und öffne SciTe wieder, so geht erstmal nicht mehr, bis ich die Include-Datei wieder öffne und schließe.


    Wenn ich die Include-Datei jedoch in das AutoIt-Standard-Include-Verzeichnis speichere und den Registry-Eintrag lösche, so geht es immer, nur das will ich aber nicht und so sollte es wohl auch nicht sein..


    Gibt es da etwa eine spezielle Einstellung in SciTe, damit es auch ohne öffnen und schließen geht?


    MfG:

    BigRox

  • Bitnugger,

    ich habe deinen Tipp eben ausprobiert und es geht so.

    Mein Fehler war dann wohl, das ich meinen eigenen Include-Pfad direkt in der Registry eingetragen habe und nicht mit SciTeConfig.

    Also speichert SciTeConfig den eigenen Include-Pfade nicht nur in der Registry ab, sondern schreibt ihn noch irgendwo an andere Stelle.


    Wen dem so ist, dann sollte die Hilfe zu include aber entsprechend angepasst (z.B. mit einem Hinweis darauf, dass man den Include-Pfad nur mit ScTeConfig und nicht direkt in der Registry ändern kann) werden, den da steht unter Bemerkungen ja:



    Es gibt einen besonderen Registrywert, namens "Include" welche in "HKEY_CURRENT_USER\Software\AutoIt v3\AutoIt" erstellt wurde. Es sollte ein REG_SZ (String) Wert sein. Die Inhalte dieses Wertes sind durch ein Semikolon getrennte Verzeichnisse, welche zusätzlich zu den Standardordnern durchsucht werden sollten, wenn #include's im Skript angegeben wird.


    Das ist dann ja wohl etwas verwirrend und kann auch falsch verstanden werden.

    Da könnte man ja meinen, man müsse nur den Registry-Wert per Script (z.B. so wie ich, beim Installieren von AutoIt) anlegen und man könne sich auch so ein eigenes Include-Verzeichnis anlegen.


    Nur sonderbar ist, dass dieses eigene Verzeichnis in SciTeConfig angezeigt wird und auch vom SyntaxCheck und beim Kompilieren beachtet wird und nur "Jump to Function Prod" dann damit ein Problem hat.



    Ergänzung zu meinem Post

    Ich habe eben selber herausgefunden, wo und was SciTEConfig auch noch schreibt.

    Der eigene Include-Pfad steht nicht nur in der Registry (der gilt anscheinend nur für "SyntxCheck Prod" und das Kompilieren),

    sondern auch in der Datei: "SciEUser.properties" (der Eintrag gilt anscheinend für "Jump to Function Prod").

    Der Eintrag ist (beim Beispiel von Bitnugger):


    openpath.$(au3)=$(SciteDefaultHome)\..\include;F:\AutoIt\AutoIt3_MyIncludes


    (ich lasse den Post als ungelöst, damit auch andere Foren-Mitglider den Post sofort sehen können).


    MfG:

    BigRox

    Einmal editiert, zuletzt von BigRox () aus folgendem Grund: Ergänzung zum Post

  • Wen dem so ist, dann sollte die Hilfe zu include aber entsprechend angepasst

    In der Hilfe zu AutoIt haben Befindlichkeiten eventuell verwendeter Editor nichts zu suchen.
    Mit welchem Editor man AutoIt-Code schreibt ist ja völlig unabhängig von der Sprache und dem Interpreter der Sprache - und nur um die geht es in der Hilfe.


    Sonst wäre die Hilfe voll mit Hinweisen zu Scite, Notepad++, Sublime Text, VSC, vim, atom .... etc.

  • Der Eintrag ist (beim Beispiel von Bitnugger):


    openpath.$(au3)=$(SciteDefaultHome)\..\include;F:\AutoIt\AutoIt3_MyIncludes

    Wenn die Beta installiert ist, sind es zwei Einträge... den sollte man also auch erwähnen:

    openpath.beta.$(au3)=$(SciteDefaultHome)\..\beta\include;f:\AutoIt\AutoIt3_MyInclude


    (ich lasse den Post als ungelöst, damit auch andere Foren-Mitglieder den Post sofort sehen können).

    Hm, wenn du ihn als gelöst markierst, können sie ihn nicht mehr sehen? Kann ich gar nicht glauben... weil ist ja nicht gerade intelligent, ihn als ungelöst stehen zu lassen, obwohl er ja gelöst ist.

  • Bitnugger,

    Wenn die Beta installiert ist, sind es zwei Einträge... den sollte man also auch erwähnen:

    openpath.beta.$(au3)=$(SciteDefaultHome)\..\beta\include;f:\AutoIt\AutoIt3_MyInclude

    Stimmt, da ich aber die Beta nicht installiert habe, ist dieser Eintrag bei mir auch nicht vorhanden und ich habe ihn somit vergessen.

    Hm, wenn du ihn als gelöst markierst, können sie ihn nicht mehr sehen? Kann ich gar nicht glauben... weil ist ja nicht gerade intelligent, ihn als ungelöst stehen zu lassen, obwohl er ja gelöst ist.

    Wird sofort erledigt.