Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. [Tester gesucht] Visual Studio Code Extension für ioBroker

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Tester gesucht] Visual Studio Code Extension für ioBroker

    This topic has been deleted. Only users with topic management privileges can see it.
    • UncleSam
      UncleSam Developer @nokxs last edited by

      @nokxs Hey, genial!

      Leider kriege ich es nicht zum laufen. Ich habe VS Code 1.52.1 unter Windows.

      Der Skript Explorer ist leer, wenn ich auf den Refresh-Button klicke, kommt: "command 'iobroker-javascript.view.scriptExplorer.refresh' not found"

      Wenn ich "ioBroker: Download all Scripts" mache, geschieht genau gar nichts.

      Im Extension Host Log sehe ich aber sehr wohl den folgenden Eintrag:

      [2021-01-07 08:09:16.353] [exthost] [info] ExtensionService#loadCommonJSModule file:///c:/Users/xxxxxxx/.vscode/extensions/nokxs.iobroker-javascript-0.5.1/dist/extension.js
      
      nokxs 1 Reply Last reply Reply Quote 0
      • nokxs
        nokxs @UncleSam last edited by nokxs

        Mit VS Code 1.52.1 sollte es prinzipiell laufen. Das sollte schon mal nicht das Problem sein.

        Ich habe die Extension gerade auf einem zweiten Rechner installiert und dort hab ich die gleichen Probleme wie du.

        Ich schau mir das heute Abend nach der Arbeit mal an und melde mich dann nochmal hier.

        UncleSam 1 Reply Last reply Reply Quote 1
        • UncleSam
          UncleSam Developer @nokxs last edited by

          @nokxs Ich vermute, dir fehlt eine Datei im Paket.

          patrickbs96 1 Reply Last reply Reply Quote 0
          • patrickbs96
            patrickbs96 Developer @UncleSam last edited by patrickbs96

            @UncleSam @nokxs Ich hatte meinerseits auch erst Probleme. Nachdem ich Git installiert hatte konnte ich die Extension konfigurieren und alle Skripte herunterladen. Soweit scheint es bei mir zu klappen.

            @nokxs Wünschenswert wäre es noch, wenn die Funktionen und Klassen aus den Globalen Skripten ergänzt werden und die richtigen Datentypen in den anderen Skripten angezeigt werden. Im Javascript Adapter wird mir das neuerdings auch automatisch angezeigt. Oder müsste das über ein Typescript ergänzt werden?

            EDIT:
            Ein upload-all wäre auch nicht schlecht, wenn an mehreren Skripten etwas geändert wird.
            Sortierung der Ordner und Skripte im Explorer wäre auch noch schön.

            1 Reply Last reply Reply Quote 0
            • Feuersturm
              Feuersturm @nokxs last edited by

              @nokxs Sehr cooles Addon. Vielen Dank dafür 🙂
              Ich konnte es bei mir installieren und es scheint zu funktionieren.

              Ich hab bisher über den JS-Adapter die Skripte über eine Pfadangabe in "Spiegeln von Skripten in den Dateipfad" gespiegelt und dann mittels sftp Plugin in VS-Code hierauf zugegriffen. Das wird dann ja mit deinem Addon hinfällig wenn ich es richtig verstehe.

              Meine Skripte versioniere ich über Git, so dass mir in meiner bisherigen Workspace Ansicht auch mit angezeigt wurde wo z.B. ein Skript modifiziert wurde.
              d0a58089-1269-41d8-a302-124bb1754666-image.png

              Wenn ich diese Information weiterhin sehen möchte muss ich zwischen den Menüeinträgen "Explorer" und "ioBroker" hin und her wechseln oder?

              Ein großer Vorteil von deinem Addon ist, dass man die Ausgaben von console.log jetzt direkt in VSCode sehen kann. Ist es technisch umsetzbar, dass man bei Ausgabe nicht nur "ioBroker (all)" auswählen kann, sondern z.B. "ioBroker (selected Script)" wo dann nur die Debugausgaben von dem Skript angezeigt werden?

              nokxs 1 Reply Last reply Reply Quote 0
              • nokxs
                nokxs @Feuersturm last edited by

                @UncleSam Bei der letzten Version war es noch so, dass beim initialen Laden der Extension die Verbindung gleich klappen musste. Ist diese aus irgend einem Grund fehlgeschlagen, wurde die Extension nicht richtig geladen. Hier habe ich soeben einiges verbessert: https://github.com/nokxs/iobroker-javascript-vs-code-extension/releases/tag/v0.5.2

                Kannst du mal versuchen, ob es jetzt bei dir klappt?

                @patrickbs96 Eigentlich braucht man kein Git für die Extension. Der erste Verbindungsaufbau war einfach etwas wackelig. Mit der neuen Version sollte es besser sein.

                Deine Vorschläge für Features finde ich gut und habe ich in die Liste der geplanten Features aufgenommen: https://github.com/nokxs/iobroker-javascript-vs-code-extension#planned-features
                Ein "upload all" Kommand wollte ich eigentlich direkt am Anfang machen, da es aber nicht trivial ist habe ich es erst einmal weggelassen.

                @Feuersturm Genau, der Plan ist es solch ein Spiegel-SFTP-Konstrukt obsolet zu machen. Ich hatte auch mal so etwas verwendet, war aber nie so richtig zufrieden damit.

                Ich versioniere meine Skripte auch per Git. Mit dem Kommando iobroker: Download all scripts (aktuell nur über die Command-Pallete verfügbar) kann man sich alle Skripte auf die Festplatte herunterladen und dann ganz normal mit Git versionieren. So mache ich es auch gerade. Aktuell muss man - wie du schon gemerkt hast - noch recht viel zwischen der FileBrowser-Tab und ioBroker-Tab hin- und herwechseln. Mein Plan ist es den Script Explorer im ioBroker-Tab so auszubauen, dass man nur noch selten wechseln muss.

                Die Ausgabe für ioBroker (selected Script), gibt es sogar schon so halblebig im Code. Funktioniert aber noch nicht richtig und wird deswegen aktuell noch ausgeblendet. Die Ausgabe wird allerdings irgendwann in der Zukunft noch kommen.

                Ich danke euch allen schon mal fürs Testen 👍

                Feuersturm patrickbs96 3 Replies Last reply Reply Quote 0
                • Feuersturm
                  Feuersturm @nokxs last edited by

                  @nokxs sagte in [Tester gesucht] Visual Studio Code Extension für ioBroker:

                  Hier habe ich soeben einiges verbessert: https://github.com/nokxs/iobroker-javascript-vs-code-extension/releases/tag/v0.5.2

                  Wie kann ich am einfachsten von meiner installierten v0.5.1 auf die v.0.5.2 updaten um die neuen Versionen mitzutesten?

                  patrickbs96 1 Reply Last reply Reply Quote 0
                  • patrickbs96
                    patrickbs96 Developer @Feuersturm last edited by patrickbs96

                    @Feuersturm Bei mir wurde beim Start von VS Code automatisch aktualisiert. Schau mal ob das bei dir auch so ist 🙂

                    Feuersturm 1 Reply Last reply Reply Quote 0
                    • Feuersturm
                      Feuersturm @patrickbs96 last edited by

                      @patrickbs96 Du hast recht, ich hab jetzt auch die v0.5.2 drauf 🙂 Das nenn ich mal eine einfach Aktualisierung 🤣

                      1 Reply Last reply Reply Quote 1
                      • Feuersturm
                        Feuersturm @nokxs last edited by

                        @nokxs Bei einigen Skripten wird anscheinend die Dateiendung nicht korrekt gespeichert
                        e6c433e6-61c3-4cc3-a138-1e65c0e20667-grafik.png
                        26f8b9f0-da0c-47aa-9fb4-d33e2ffbaabc-grafik.png
                        Es fehlt das "js"
                        Aktuell sind bei mir 4 Skripte betroffen. Sonderzeichen oder Umlaute verwende ich nicht:
                        0ac2b6f1-7c87-4cae-9596-1fd350335a39-grafik.png

                        1 Reply Last reply Reply Quote 0
                        • patrickbs96
                          patrickbs96 Developer @nokxs last edited by

                          @nokxs Perfekt, danke dir schonmal 🙂
                          Ich hatte vorhin in VS Code die Extension eslint noch integriert, wie es auch bei Adaptern gemacht wird. Jetzt werden mir natürlich hunderte Fehler angezeigt, da eslint die ioBroker Befehle nicht kennt. Weißt du zufällig, wie ich die .iobroker\types\javascript.d.ts da integrieren kann?

                          UncleSam 1 Reply Last reply Reply Quote 0
                          • UncleSam
                            UncleSam Developer @patrickbs96 last edited by

                            @patrickbs96 sagte in [Tester gesucht] Visual Studio Code Extension für ioBroker:

                            Weißt du zufällig, wie ich die .iobroker\types\javascript.d.ts da integrieren kann?

                            Ich bin leider kein Spezialist für eslint (da müsstest du @AlCalzone fragen), aber hier ist ein Verzeichnis, das JavaScript mit eslint und der entsprechenden tsconfig hat, hoffe, das hilft: https://github.com/ioBroker/create-adapter/tree/master/test/baselines/adapter_JS_ESLint_TypeChecking_Spaces_SingleQuotes_Apache-2.0

                            1 Reply Last reply Reply Quote 0
                            • AlCalzone
                              AlCalzone Developer last edited by

                              Ich habe mir die Erweiterung noch nicht angezeigt, aber die .d.ts muss irgendwo ins Arbeitsverzeichnis gelegt werden, ohne dass sie als "Skript" erkannt wird.

                              1 Reply Last reply Reply Quote 0
                              • nokxs
                                nokxs last edited by

                                @Feuersturm Kannst du bei den Skripten, welche keine Korrekte Dateiendung haben, mal folgendes schauen:
                                ioBroker Admin -> Object -> Expertenmodus einschalten -> Im Baum unter script.js das Fehlerhafte Skript suchen -> Objekt bearbeiten (Stift-Button) -> Raw (Nur Experten)

                                Was steht dort bei engineType?

                                @patrickbs96 Das mit der Integration von javascript.d.ts hatte ich mir insgesamt einfacher vorgestellt. Ich arbeite noch dran, das ordentlich zu integrieren und aktuell funktioniert es eher schlecht als recht. Eine ESLint Integration fehlt noch komplett, fände ich persönlich aber auch super. Ich wäre schon zufrieden, wenn IntelliSense zuverlässig funktioniert. Aktuell kennt VS Code bei mir manchmal die ioBroker Funktionen und kurze Zeit später wieder nicht.

                                AlCalzone Feuersturm 2 Replies Last reply Reply Quote 0
                                • AlCalzone
                                  AlCalzone Developer @nokxs last edited by

                                  @nokxs sagte in [Tester gesucht] Visual Studio Code Extension für ioBroker:

                                  kurze Zeit später wieder nicht.

                                  Wenn du in einem Skript einen Import hinzufügst?

                                  nokxs 1 Reply Last reply Reply Quote 0
                                  • nokxs
                                    nokxs @AlCalzone last edited by

                                    @AlCalzone Was sehr zuverlässig funktioniert ist, wenn ich in einem Skript in der ersten Zeile mit /// <reference path="../.iobroker/types/javascript.d.ts" /> die Definition referenziere. Ich will nach Möglichkeit aber vermeiden, dass ich das in jedem Skript habe. Außerdem muss dann der Pfad gepflegt werden.

                                    patrickbs96 1 Reply Last reply Reply Quote 0
                                    • Feuersturm
                                      Feuersturm @nokxs last edited by Feuersturm

                                      @nokxs sagte in [Tester gesucht] Visual Studio Code Extension für ioBroker:

                                      ioBroker Admin -> Object -> Expertenmodus einschalten -> Im Baum unter script.js das Fehlerhafte Skript suchen -> Objekt bearbeiten (Stift-Button) -> Raw (Nur Experten)
                                      Was steht dort bei engineType?

                                      Bei den vier fehlerhaften Skripten steht folgendes:

                                      • TuerenFensterStatus: "engineType": "JavaScript/js",
                                      • ical_4_ToHtmlTable: "engineType": "JavaScript/js",
                                      • Timerscript: "engineType": "JavaScript/js",
                                      • Adapterinformationen: "engineType": "JavaScript/js",

                                      Bei den Skripten die i.O. angezeigt werden steht:

                                      • "engineType": "Javascript/js",

                                      Der Unterschied ist, dass bei den n.i.O Skripten das S in JavaScript groß geschrieben ist.

                                      nokxs 1 Reply Last reply Reply Quote 0
                                      • nokxs
                                        nokxs @Feuersturm last edited by

                                        @Feuersturm Danke fürs Raussuchen der Werte. Das Problem ist auf jeden Fall die Groß-/Kleinschreibung. Ich werde den Vergleich ändern, damit die Groß-/Kleinschreibung ignoriert wird.

                                        Feuersturm 1 Reply Last reply Reply Quote 1
                                        • Feuersturm
                                          Feuersturm @nokxs last edited by

                                          @nokxs sagte in [Tester gesucht] Visual Studio Code Extension für ioBroker:

                                          Danke fürs Raussuchen der Werte. Das Problem ist auf jeden Fall die Groß-/Kleinschreibung. Ich werde den Vergleich ändern, damit die Groß-/Kleinschreibung ignoriert wird.

                                          Ich hab gerade die Version 0.6.0 installiert.
                                          Die Skripte werden jetzt korrekt angezeigt 🙂

                                          Wenn ich aber jetzt ein beliebiges Skript herunterladen möchte kommt die Fehlermeldung:

                                          Fehler beim Ausführen des Befehls iobroker-javascript.download: Cannot read property 'endsWith' of undefined. Dies wird vermutlich durch die Erweiterung verursacht, die iobroker-javascript.download beiträgt.
                                          

                                          Wenn ich ein Skript umbennen möchte kommt die Fehlermeldung

                                          Fehler beim Ausführen des Befehls iobroker-javascript.view.scriptExplorer.rename: Cannot read property 'endsWith' of undefined. Dies wird vermutlich durch die Erweiterung verursacht, die iobroker-javascript.view.scriptExplorer.rename beiträgt.
                                          

                                          Ebenfalls tauchen jetzt in der Ausgabeconsole von VSCode zweimal der Eintrag "ioBroker(all)" auf.

                                          nokxs 1 Reply Last reply Reply Quote 0
                                          • nokxs
                                            nokxs @Feuersturm last edited by

                                            @Feuersturm Vielen Dank fürs schnelle Testen 👍

                                            Ich sehe schon, dass ich dringend automatisierte tests brauche, damit ich nicht dauernd was kaputt mache^^

                                            Ich schau mal, ob ich morgen dazu komme es zu richten.

                                            Feuersturm 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            630
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript vscode
                                            18
                                            137
                                            13248
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo