https://www.mikrocontroller.net/topic/goto_post/8004255 https://github.com/vscode-arduino/vscode-arduino/issues/8 https://github.com/vscode-arduino/vscode-arduino/issues/50 https://github.com/vscode-arduino/vscode-arduino/issues/62 https://github.com/vscode-arduino/vscode-arduino/issues/63
Oh, toll, eine Linksammlung. Und das zum Thema KI-Slop und Lobotomie! Darauf haben wir sicher alle ganz dringend gewartet.
Alexander schrieb: > Ich sollte neuen Thread aufmachen. Hast Du nichts Besseres zu tun als hier zu trollen?
Hast Du den Screenshot gesehen und verstanden worum es geht? Wenn nicht trollst Du hier gerade.
Alexander schrieb: > Hast Du den Screenshot gesehen Welchen Screenshot? Du hirnloser Troll hast nur ein paar Links gepostet. Und das sogar noch ohne jede Erklärung, was man da zu sehen bekommen würde. Kein vernünftig denkender Mensch klickt auf sowas. Wirklich kritisch denkende Menschen klicken nichtmal drauf, wenn die Begleitgeschichte stimmig ist. Aber hier gab es ja nicht mal eine. > trollst Du hier gerade. Jepp, das tust du.
5 Links, ohne jeglichen Kontext. Schade, dass man nur einmal "Nicht Lesenswert" geben kann. Unfassbar... Kann von mir aus geschlossen oder gar gelöscht werden, wenn man im Eröffnungspost nicht mal in der Lage ist, wenigstens kurz zu erklären, um was es geht.
Ob S. schrieb: > Alexander schrieb: >> Hast Du den Screenshot gesehen > Welchen Screenshot? Manche Personen können mit Links auf einen Post in einem anderen Thread wirklich nichts anfangen. Das funktioniert nur, wenn diese versehentlich klicken, weil Zitterfinger die Maus halten. Das ist vor allem ein Freitagsphänomen.
Wenn ich die relevanten Beiträge aus dem Thread selbst verschieben könnte würde ich es tun. Dieter D. schrieb: > Manche Personen können mit Links auf einen Post in einem anderen Thread > wirklich nichts anfangen. Manche wollen auch gar nichts damit anfangen können, und sich lieber aufregen.
:
Bearbeitet durch User
Ob S. schrieb: > Welchen Screenshot? Du hirnloser Troll hast nur ein paar Links gepostet. Ich gebe dem C-Hater Recht: O tempora, o mores.
Da der Alexander sich wieder die bei ihm üblich Mühe für eine exzellente Problembeschreibung gemacht, sollten wir uns entsprechend Mühe für eine exzellente Antwort geben. Ich fange mal an: Hmmm
:
Bearbeitet durch User
Ob S. schrieb: > Welchen Screenshot? Du hirnloser Troll hast nur ein paar Links gepostet. Heute ist schon wieder so ein Tag für den Kalender. Erstaunlich.
Harald K. schrieb: > Heute ist schon wieder so ein Tag für den Kalender. Eineindeutig, weil stutzig wirst Du und zu denken beginnen, wenn Du auf dem Kalender den Wochentag liest. Da wird es Dir wie Schuppen von den Augen fallen.
Nee, Du, da muss ich Deine Verschwörungstheorie noch im präzygotischen Zustand abwürgen. Da ist der Einfluss des Rückganges von mit Fünfmastern arbeitenden Piraten auf die Verfügbarkeit von Parkplätzen am Stachus größer.
Harald K. schrieb: > Darauf haben wir sicher alle ganz dringend gewartet. 👍👍👍 Da der Beitrag vom TO so eh nutzlos sein wird, mal eine Frage zu den jetzt auf den Markt strömenden KI-ICs: Kann mal jemand erklären was die anders machen? Ich lese nur immer (aber nicht tief in die Materie) wie toll die sind, aber nie wie genau die arbeiten.
Harald K. schrieb: > Darauf haben wir sicher alle ganz dringend gewartet. 👍👍👍 Da der Beitrag vom TO so eh nutzlos sein wird, mal eine Frage zu den jetzt auf den Markt strömenden KI-ICs: Kann mal jemand erklären was die anders machen? Ich lese nur immer (aber nicht tief in die Materie) wie toll die sind, aber nie wie genau die arbeiten. Harald K. schrieb: > Da ist der Einfluss des Rückganges von mit Fünfmastern arbeitenden > Piraten auf die Verfügbarkeit von Parkplätzen am Stachus größer. 😂😂😂😂
Harald K. schrieb: > Verfügbarkeit von Parkplätzen am Stachus Hin mit dem MVV und zurück mit dem MVV. Und Elektromobilität ist ÖPNV. Das EAuto ist nur der Übergang zu keinem Auto.
Sorry Leute heut wird das nix mehr mit VS Code, ich feiere lieber :D https://www.mikrocontroller.net/topic/goto_post/8005503
Eine Idee zu den fehlenden Sourcen.. Die neuen esp32 Arduino Versionen linken bei lwip auf vorkompilierte Bibliotheken. Die Datei gibt's eigentlich nicht mehr direkt. Ist das ein Projekt mit offenem Code, das man das ausprobieren kann?
Wie gesagt: Es compiliert trotzdem. Dem Compiler ist egal, ob der Texteditor alle referenzierten Dateien findet. Alles was der Compiler braucht ist auch vorhanden.
Alexander schrieb: > Ich sollte neuen Thread aufmachen. Ja, wenn denn schon etwas gesollt werden soll... hofft man sehr auf künftige Intelligenz, um seinen Grips endlich an den Nagel hängen zu können. mfG fE
Philipp K. schrieb: > Eine Idee zu den fehlenden Sourcen.. > > Die neuen esp32 Arduino Versionen linken bei lwip auf vorkompilierte > Bibliotheken. > > Die Datei gibt's eigentlich nicht mehr direkt. > > Ist das ein Projekt mit offenem Code, das man das ausprobieren kann? Hm.. ab welcher Version? Muss ich später noch mal testen, erstmal Kaffee und Ibuprofen... ausprobieren kann man das mit der Arduino IDE, wobei das schon paar Monate her ist. Sollte sich da was geändert haben wäre das blöd. Alexander schrieb: > Solange es keine Breaking Changes zwischen arduino-esp32 v3.0.7 (ESP-IDF > v5.1.4) und v3.3.6 (ESP-IDF v5.5.2) gibt liegt es wohl eher nicht am > Framework, da es in der Arduino IDE kompiliert. Ich denke die > vscode-arduino Community Edition ist nicht offiziell und wohl schon > länger nicht gepflegt. Nemopuk schrieb: > Wie gesagt: Es compiliert trotzdem. Dem Compiler ist egal, ob der > Texteditor alle referenzierten Dateien findet. Alles was der Compiler > braucht ist auch vorhanden. Ist das so? Auf Github verlinkter Workaround ist die fehlenden Includes in die c_cpp_properties.json einzutragen. Copilot meinte aber ich kann die c_cpp_properties.json löschen und den Pfad global hinterlegen. Ich hab also nur diese beiden Dateien, hier verlinkt.
1 | %AppData%/Code/User/settings.json |
2 | .vscode/arduino.json |
https://www.mikrocontroller.net/topic/goto_post/8004871 Was ich schon herausgefunden habe es werden keine env vars geparsed, man kann also %UserProfile% oder %AppData% nicht verwenden. Wildcards sollten doch aber funktionieren? Backslash mit Escape?
1 | "C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-libs\\*\\include\\**" |
Alexander schrieb: > Auf Github verlinkter Workaround ist die fehlenden Includes > in die c_cpp_properties.json einzutragen. Diese Konfigurationsdatei ist nur dazu da, dass der Texteditor die Dateien findet. Zum Compilieren wird die arduino-cli aufgerufen, welche wiederum den Compiler aufruft. Beide funktionieren unabhängig von vscode.
Alexander schrieb: > Ist das so? Auf Github verlinkter Workaround ist die fehlenden Includes > in die c_cpp_properties.json einzutragen. Diese Datei wird von "Intellisense" verwendet, das bringt Syntaxhighlighting, Codevervollständigung etc. in vscode. Der Compiler selbst kennt diese Datei nicht, dem ist sie vollkommen schnuppe.
Harald K. schrieb: > Der Compiler selbst kennt diese Datei nicht, dem ist sie vollkommen > schnuppe. Das gilt übrigens generell für alle Softwareprojekte, die ein anderes Build-Tool benutzen als die IDE selbst. Das ist für langfristige Wartbarkeit auch besser so (IDEs sind dann austauschbar).
Harald K. schrieb: > Diese Datei wird von "Intellisense" verwendet, das bringt > Syntaxhighlighting, Codevervollständigung etc. in vscode. Aber das ist doch genau das weshalb ich überhaupt VS Code installieren wollte - Programmieren mit KI. Ohne das kann ich auch bei Notepad++ bleiben.
Alexander schrieb: > Ohne das kann ich auch bei Notepad++ bleiben. Alexander schrieb: > Aber das ist doch genau das weshalb ich überhaupt VS Code installieren > wollte - Programmieren mit KI. Ohne das kann ich auch bei Notepad++ > bleiben. Die fehlenden Dateien brauchst du nicht. Der Compiler braucht sie nicht. Die KI braucht sie auch nicht. Wo ist dein Problem? Hast du Angst vor der roten Schlangenlinie und der zugehörigen "Problem" Meldung?
:
Bearbeitet durch User
Also Augen zu und durch ist nicht so meins. Es werden Fehlermeldungen angezeigt. Woher soll man echte von falschen Fehlermeldungen unterscheiden wenn wirklich mal eine Lib fehlt? IntelliSense funktioniert auch nicht. Nur die KI im Chatfenster. Aber da muss ich ja prompten. Es hieß es ginge ohne, das wollte ich testen.
Alexander schrieb: > Woher soll man echte von falschen Fehlermeldungen > unterscheiden wenn wirklich mal eine Lib fehlt? Indem man den Ausgaben des Compilers vertraut. > IntelliSense funktioniert auch nicht Das kenne ich. Da musst du nur den Nippel durch die Lasche ziehen, und mit der kleinen Kurbel ganz nach oben drehen. Dann erscheint sogleich ein Pfeil, und da drücken sie dann drauf, und schon geht die Sache auf. Oder so ähnlich. Bei deinen beschissenen Problembeschreibungen habe ich absolut keine Lust, den ganzen Kram bei mir zu installieren, um es hoffentlich (wahrscheinlich aber nicht) nachvollziehen zu können. Mache das mal schön selber. Könntest ja mit einer frischen Windows/Linux Installation (ggf. in einer VM) beginnen. Bei mir hatte es (Arduino+ESP32+Copilot in vscode) vor ein paar Monaten auf dem alten Laptop funktioniert. A aber den habe ich "platt" gemacht. Da ist im Moment gar nichts drauf, außer ein frisches Debian.
:
Bearbeitet durch User
Nemopuk schrieb: > Bei deinen beschissenen Problembeschreibungen habe ich > absolut keine Lust, den ganzen Kram bei mir zu installieren, um es > hoffentlich (wahrscheinlich aber nicht) nachvollziehen zu können. Musst Du ja auch nicht. Ich hab das ja schon gemacht und das Problem identifiziert. Du hast es bei Dir auch nicht lösen wollen, sondern ignoriert. Kann man so machen. Ich hab den Thread aufgemacht für den Fall dass es jemand lösen will. Das sauberste wäre die vscode-arduino Extension zu verstehen und einen Commit auf Github einzusenden. Die `c_cpp_properties.json` wird autogeneriert. Da fehlt halt der neue Pfad `esp32-libs`
Alexander schrieb: > Du hast es bei Dir auch nicht lösen wollen, sondern > ignoriert. Die automatische Eingabeergänzung funktioniert bei mir. Da gibt es nichts zu "lösen".
Jetzt habe ich doch nochmal installiert, nur für dich Alexander. Wie du siehst, compiliert das Projekt trotz der "Problems" vom Texteditor. Dein "Intellisense" funktioniert auch. Wie man hier sieht ist das Editor-Fenster keineswegs winzig (wie du im anderen Thread schriebst). Alexander schrieb: > Das sauberste wäre die vscode-arduino Extension zu verstehen und einen > Commit auf Github einzusenden. Die `c_cpp_properties.json` wird > autogeneriert. Da fehlt halt der neue Pfad `esp32-libs` Da stimme ich dir zu
:
Bearbeitet durch User
Danke fürs testen. Den Verbose Log hatte ich bei mir nicht eingestellt, deswegen habe ich nur in der Statusleiste eine Sanduhr die mir anzeigt dass es kompiliert. Schau mal bitte in Deiner ~/.config/Code/User/settings.json ob die Fehlermeldungen verschwinden, entweder `C_Cpp.default.includePath` oder `C_Cpp.default.compilerPath` eines von beiden.
Ich ändere die Pfade lieber in der Projekt-Konfiguration, weil ich nicht nur ESP32 Projekte bearbeite. Also die Datei .vscode/c_cpp_properties.json Habe diese beiden Zeilen hinzugefügt:
1 | "/home/stefan/.arduino15/packages/esp32/hardware/esp32/3.3.6/libraries/**", |
2 | "/home/stefan/.arduino15/packages/esp32/tools/esp32-libs/3.3.6/include/**" |
Der Pfad "3.3.6/cores/esp32" war schon drin und in meinen persönlichen Ordnern habe ich gerade keine Bibliotheken. Einige "Problems" sind dadurch weg. Aber er findet die Datei portmacro.h noch nicht. Die Konfigurationsdatei wird aber vom Arduino Plugin irgendwann wieder überschrieben, deswegen ist das keine Lösung für mich. Was man machen kann: In der Konfigurationsdatei das gesamte Array-Element mit dem Namen "Arduino" mit einem eigenen Namen wie "My Settings" duplizieren. Dann dort die gewünschten Pfade hinzufügen und diese Konfiguration ganz unten in der Statuszeile der IDE (anstelle von Arduino) auswählen. Aber: Diese eigene Konfiguration wird nicht automatisch aktualisiert. Damit bin ich immer noch nicht weiter als vor ein paar Jahren. Es ist den Aufwand nicht Wert. Editor und Compiler funktionieren ja. Die paar Warnungen ignoriere ich lieber.
:
Bearbeitet durch User
Nemopuk schrieb: > Aber er findet die Datei portmacro.h noch nicht. Na, und wo liegt die? (Übrigens sollte es auch möglich sein, die Pfade ohne Benutzernamen anzugeben, mach mal aus "/home/stefan/.arduino15/packages/esp32/hardware/esp32/3.3.6/libraries/* *", ein "~/.arduino15/packages/esp32/hardware/esp32/3.3.6/libraries/**",
Ich habe anderes zu tun. Probiert es doch selber aus. Ich brauche das nicht.
Alexander schrieb: > Manche wollen auch gar nichts damit anfangen können, und sich lieber > aufregen. Wer will sich halt ohne Kontext mit irgendwas beschäftigen? Sorry, aber das Ei hast du dir echt selbst gelegt. Du willst VSCode wg. KI-Integration nutzen, kannst aber scheinbar die eigene reale Intelligenz nicht dazu einsetzen, es so hinzubekommen, wie du es dir wünscht. Hast du schonmal die KI gefragt, wie das geht? Ich mein, wenn KI dabei nicht helfen kann, weil die eigene R(eal)I nichts bringt, solltest zumindest DU auf diese Features verzichten. - Sorry für den Angriff, aber man sollte seine genutzten Werkzeuge schon kennen. Wenn du ein Problem hast, dass mit KI nicht gelöst werden kann, dann schildere dieses explizit. Wer KI "versteht", weiß auch, dass es Probleme gibt, die nicht ausreichend lösbar sind. Dann frag' halt Menschen, wie es vernünftig funktioniert nimm' nicht den Umweg über die KI. Wenn etwas in VSCode nicht funktioniert, suche den Fehler; Und wenn es dir möglich ist, behebe Ihn! - Aber mach' nicht den Fehler, die KI dafür zu blamen, denn Diese ist manchmal dümmer als nen 3-jähriger mit Trisomie-21. (Sorry dafür - und vor allem nichts gegen entsprechend betroffene Personen, aber es braucht glaube ich klare Worte...) (Schon wieder viel zu ausfallend... Aber das musst irgendwie sein...)
M. P. schrieb: > Dann frag' halt Menschen, wie es vernünftig funktioniert nimm' nicht den > Umweg über die KI. https://www.mikrocontroller.net/topic/goto_post/8004613 M. P. schrieb: > Wenn etwas in VSCode nicht funktioniert, suche den Fehler; Und wenn es > dir möglich ist, behebe Ihn! Ist ein bisschen armselig wenn ausgerechnet ich als DAU der eigentlich nur mal eine Empfehlung testet darauf stoße. Niemand scheint vscode-arduino ernsthaft zu nutzen. https://github.com/microsoft/vscode-arduino
Nemopuk schrieb: > Ich habe anderes zu tun. Probiert es doch selber aus. Ich brauche das > nicht. Soll das eine Reaktion auf meine Anregung und Frage gewesen sein?
Alexander schrieb: > M. P. schrieb: >> Dann frag' halt Menschen, wie es vernünftig funktioniert nimm' nicht den >> Umweg über die KI. > > https://www.mikrocontroller.net/topic/goto_post/8004613 Wieder ein Link, ohne Kontext - wenn auch hier im Forum selbst. - Trotzdem ist kein Zusammenhang zum ersten Post in diesem Thread zu sehen. Vielleicht, weil noch immer der Kontext von dir in diesem Beitrag fehlt... > M. P. schrieb: >> Wenn etwas in VSCode nicht funktioniert, suche den Fehler; Und wenn es >> dir möglich ist, behebe Ihn! > > Ist ein bisschen armselig wenn ausgerechnet ich als DAU der eigentlich > nur mal eine Empfehlung testet darauf stoße. Niemand scheint > vscode-arduino ernsthaft zu nutzen. > > https://github.com/microsoft/vscode-arduino Weil es Github ist, habe ich den Link auch mal ausnahmsweise geklickt... "Visual Studio Code extension for Arduino (deprecated).." Weist du, was "deprecated" bedeutet, gerade, wenn das letzte Update als "2 years ago" gekennzeichnet ist? Ich mein, direkt nach der Kopfzeile kommt sowas wie: "This extension is deprecated and no longer maintained. We recommend existing customers to use the Arduino IDE software." oder "This extension will no longer be available on the marketplace as of 10/1/2024, please see details here." Ich glaube zu wissen, dass 07/2/2026 mittlerweile nahezu vergangen ist - zumindest hier in Deutschland. Das ist weit nach 10/1/2026...
M. P. schrieb: > Weißt du, was "deprecated" bedeutet Was glaubst Du warum ich Dir das verlinkt habe? Der Fork davon ist im OP verlinkt.
Alexander schrieb: > M. P. schrieb: >> Weißt du, was "deprecated" bedeutet > > Was glaubst Du warum ich Dir das verlinkt habe? Der Fork davon ist im OP > verlinkt. Also besteht deine Kritik weiterhin aus Links und du willst uns nicht weiter erläutern, warum du dieses Thema aufgemacht hast? Ja, µC.net ist in mancher Hinsicht verkommen, aber gewisses Mindestmaß an Informationen in einem Beitrag sollte auch im ersten Beitrag davon vorhanden sein. Möchtest du eine Antwort auf eine nicht vorhandene Frage? Möchtest du Kritik äußern? Hast du sonst klärungsbedarf? Diese Fragen bleiben einfach offen, wenn du lediglich 5 Links ohne irgendeinen Text postest. - Dementsprechend "aufmerksam" nehme deine Redebeiträge in diesem "Thema" wahr. Aber btt.: Wenn du genau deswegen irgendeinen unzitierten Link gepostet hast: Du weißt es also scheinbar, ignorierst aber die Entwicklung der letzten ~1.5 Jahre -oOder den von dir genannten Fork: Was steht da? Kannst du es verstehen?
Das Problem (Zitat aus Link #1): "VS Code findet nicht mal die Standard Includes." Untermauert mit Screenshot. Dazu 4x Issues (eines davon sogar mit pull request als mögliche Lösung) die genau eines gemeinsam haben (Link #2 - #5): VS Code findet nicht die Includes. VS Code hat kein Interesse daran es zu pflegen - deprecated - deswegen der Community Fork als Nachfolger (um den es hier geht). Dieser wurde mir (neben PlatformIO) in dem anderen (über Link #1 erreichbaren) Thread empfohlen. Scheint aber ebenfalls irgendwie abandoned zu sein. Brauchst Du weiteres spoon feeding, oder bist Du in der Lage STRG + F zu klicken, "alecxs" einzutippen und Dich in ein Thema einzulesen bevor Du es kommentierst?
:
Bearbeitet durch User
Alexander schrieb: > Ist ein bisschen armselig wenn ausgerechnet ich als DAU der eigentlich > nur mal eine Empfehlung testet darauf stoße. Nein, darauf sind (wie ich bereits schrieb) schon andere gestoßen. Aber andere können damit leben, dass kostenlose Tools Fehler enthalten. Du hingegen reitest seit 3 Tagen auf ein völlig unwichtigen Warnmeldungen für Dateien herum, die für deine Arbeit unwichtig sind. Nochmal: Das Projekt compiliert trotzdem! Alexander schrieb: > VS Code findet nicht mal die Standard Includes. Falsch. Das ist kein Fehler in vscode, sondern im Arduino Plugin. Wobei die Entwickler dieses Plugins den schwarzen Peter vielleicht an Espressif weiter reichen, weil deren ESP32 Core nicht 100% Arduino kompatibel strukturiert ist. Das Problem ist allerdings noch viel älter, denn schon der ESP8266 core von 2018 (der ein Community Projekt war, nicht von Espressif) hatte bereits das gleiche Problem. Tausende Nutzer leben schon seit 8 Jahren damit. Nur du kannst es nicht. Denke mal darüber nach! Noch was: Du wolltest das Programmieren mit KI Agenten ausprobieren. Dir wurde vscode als eine Möglichkeit dazu vorgeschlagen. Und die funktioniert auch bei dir. Warum zum Teufel hängst du dich an den verfickten Warnmeldungen auf, die das Ausprobieren der KI kein bisschen behindern?
:
Bearbeitet durch User
Alexander schrieb: > Das Problem (Zitat aus Link #1): "VS Code findet nicht mal die Standard > Includes." Untermauert mit Screenshot. > > Dazu 4x Issues (eines davon sogar mit pull request als mögliche Lösung) > die genau eines gemeinsam haben (Link #2 - #5): VS Code findet nicht > die Includes. > > VS Code hat kein Interesse daran es zu pflegen - deprecated - deswegen > der Community Fork als Nachfolger (um den es hier geht). O weh. Vscode interessiert sich nicht für Deine Includes. Dafür ist vscode nicht zuständig. Zuständig ist dafür die von Dir dafür installierte Erweiterung. Wenn Du rumheulen willst, dann doch bitte sachlich richtig. Eine von mehreren Möglichkeiten besteht darin, die "intellisense"-Erweiterung zu verwenden (das erkennt man an der Datei c_cpp_settings.json im .vscode-Verzeichnis), aber das ist nur eine. Eine andere wäre die Verwendung von clangd zusammen mit einem passenden Languageserver - auch dafür gibt es eine Erweiterung. Nur: Was auch immer an diesen oder anderen Erweiterungen veraltet ist, nicht funktioniert oder auch einfach nicht verstanden wird -- das ist nicht vscode, sondern nur die jeweilige Erweiterung. Egal aber, welche Erweiterung man verwendet, man muss sich damit beschäftigen, und man muss sich auch damit beschäftigen, wo denn nun die von einem verwendete "toolchain" (hier ja wohl irgendeine Arduino-Variante) ihre ganzen Includedateien etc. unterbringt, damit man die vom Compiler verwendeten Suchpfade passend auch in die Intellisense- bzw- Äquivalenzerweiterung eintragen kann. Ja, man muss schon ein bisschen den Arsch selbst hochbekommen.
Harald K. schrieb: > Vscode interessiert sich nicht für Deine Includes. Dafür ist vscode > nicht zuständig. > > Zuständig ist dafür die von Dir dafür installierte Erweiterung. > > Wenn Du rumheulen willst, dann doch bitte sachlich richtig. Wortklauberei. Die originalen Entwickler der Erweiterung sind die Visual Studio Code Entwickler von Microsoft. Vielleicht nicht das VS Code Kernteam, aber definitiv ein separates Microsoft‑Team das speziell für die Arduino‑Erweiterung zuständig war. https://devblogs.microsoft.com/iotdev/visual-studio-code-extension-for-arduino-is-now-open-sourced Dass heute niemand mehr dafür zuständig ist steht auf einem anderen Blatt. Harald K. schrieb: > Ja, man muss schon ein bisschen den Arsch selbst hochbekommen. (Wäre nicht das erste mal.. Problem: https://github.com/espressif/arduino-esp32/issues/10120#issuecomment-2395594762 Lösung: https://forum.arduino.cc/t/ide-preferences-leveldb/1312668/6 Umsetzung: https://github.com/aIecxs/arduino-esp32/commits/release/v3.0.x/tools/rawconfig.py ... andere Baustelle)
Harald K. schrieb: > Vscode interessiert sich nicht für Deine Includes. Dafür ist vscode > nicht zuständig. > > Zuständig ist dafür die von Dir dafür installierte Erweiterung. Bei mir habe ich eine zunächst nicht gefundene Include-Datei einfach zusammen mit ihrem Pfad in die Include-Anweisung der main.cpp eingetragen. Da wird sie dann auch gefunden, sowohl von der PlatformIO- als auch von der MS-IntelliSense-Extension. In meinem Fall ist der Pfad relativ: #include "../../abc/def.h". Trotz Windows kein Backward-Schrägstrich!
Man kann die fehlenden `esp32-libs` Includes auch in der `platform.txt` eintragen bzw. eine `platform.local.txt` erstellen, dann landen diese in der `c_cpp_properties.json`. `%UserProfile%/AppData/Local/Arduino15/packages/esp32/hardware/esp32/3.3 .6/platform.local.txt`
1 | # Compile Flags |
2 | compiler.cpreprocessor.flags.extra.intellisense="-I{compiler.sdk.path}/include/"
|
3 | compiler.cpreprocessor.flags="@{compiler.sdk.path}/flags/defines" \
|
4 | "-I{build.source.path}" \
|
5 | -iprefix "{compiler.sdk.path}/include/" \
|
6 | "@{compiler.sdk.path}/flags/includes" \
|
7 | "-I{compiler.sdk.path}/{build.memory_type}/include" \
|
8 | "{compiler.cpreprocessor.flags.extra.intellisense}"
|
Allerdings akzeptiert der Parser kein recursive globbing (`include/**`) daher müsste man alle -iprefix, -iwithprefixbefore, -iwithprefixafter selbst rekursiv auflösen und einzeln anhängen. Das liese sich über ein `platform.local.txt` Script (z.b. python) realisieren welches man über `recipe.hooks.prebuild.1.pattern=` ausführt. Man könnte auch die `arduino.json` nutzen um ein Script zu starten, über VSCA_BUILD_MODE == Analyzing wird allerdings nur `prebuild` angestoßen. Sinnvoller wäre ein `postbuild` Script, damit könnte man den -iprefix Pfad als globstar pattern direkt in `c_cpp_properties.json` eintragen, ohne Umweg über Fake `-I` Includes. https://github.com/vscode-arduino/vscode-arduino#pre--and-post-build-commands Ist mir aber zu viel gebastel. Das eigentliche Problem ist, dass der Intellisense Parser gar keine platform.txt Properties liest, es werden nur recipe.cpp.o.pattern aus dem arduino-cli JSON Compileraufruf extrahiert. Es ist nur eine Engine gebaut wurden die ausschließlich den Standard ccp.ParserGcc() an den Runner übergibt, und der kann halt nur `-I` Includes. Man müsste eigentlich eine `-iprefix` Engine basteln die den Pfad extrahiert und ein globstar anhängt. Das könnte man direkt hinter `runner.result.cleanup()` einbauen. https://github.com/vscode-arduino/vscode-arduino/blob/main/src/arduino/intellisense.ts#L144 Aber erst die ganze VS Code Arduino Community Extension selbst kompilieren und den Kram auf verschiedenen Plattformen testen (win/linux/darwin) habe ich keine Lust. Zumal die Extension wohl vor allem für Arduino Boards genutzt wird, und weniger für ESP32 Boards (sonst hätte das schon längst mal jemand gefixt) Harald K. schrieb: > Nemopuk schrieb: >> Aber er findet die Datei portmacro.h noch nicht. > > Na, und wo liegt die? Die liegt ebenfalls in den `esp32-libs` ist wohl ein Problem mit der -maxdepth Rekursionstiefe. So gehts - entweder in c_cpp_properties.json oder global in settings.json. Die c_cpp_properties.json kann man deaktivieren, dann greifen die globalen `C_Cpp.default.includePath`:
1 | "C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-libs\\3.3.6\\include\\**", |
2 | "C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-libs\\3.3.6\\include\\freertos\\FreeRTOS-Kernel\\portable\\xtensa\\include\\freertos", |
Harald K. schrieb: > (Übrigens sollte es auch möglich sein, die Pfade ohne Benutzernamen > anzugeben, ${env:UserProfile} oder ${UserProfile} könnte funktionieren, ist aber nicht plattformübergreifend.
:
Bearbeitet durch User
Nemopuk schrieb: > Das hier könnte dich (Alexander) interessieren: > https://github.com/NikolaiRadke/AI.duino Ja ist gut für Kinder, schau ich mir an!
Nemopuk schrieb: > Alexander schrieb: >> Das sauberste wäre die vscode-arduino Extension zu verstehen und einen >> Commit auf Github einzusenden. Die `c_cpp_properties.json` wird >> autogeneriert. Da fehlt halt der neue Pfad `esp32-libs` > > Da stimme ich dir zu Hat schon mal jemand gemacht. Der entsprechende pull request #17 hängt leider seit 3 Jahren in der Pipe. https://github.com/tylerjwatson/cocopa/blob/feature/gcc-directory-options/src/ParserGcc.ts
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
