Forum: Compiler & IDEs Programmieren mit KI (42)


von Alexander (alecxs)


Lesenswert?


von Harald K. (kirnbichler)


Lesenswert?

Oh, toll, eine Linksammlung.

Und das zum Thema KI-Slop und Lobotomie!


Darauf haben wir sicher alle ganz dringend gewartet.

von Nemopuk (nemopuk)


Lesenswert?

Die bugs Reports haben alle nichts mit KI zu tun.

von Alexander (alecxs)


Lesenswert?

Ich sollte neuen Thread aufmachen.

von Ein T. (ein_typ)


Lesenswert?

Alexander schrieb:
> Ich sollte neuen Thread aufmachen.

Hast Du nichts Besseres zu tun als hier zu trollen?

von Alexander (alecxs)


Lesenswert?

Hast Du den Screenshot gesehen und verstanden worum es geht? Wenn nicht 
trollst Du hier gerade.

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

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.

von M. P. (phpmysqlfreak)


Lesenswert?

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.

von Dieter D. (Firma: Hobbytheoretiker) (dieter_1234)


Lesenswert?

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.

von Alexander (alecxs)


Lesenswert?

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
von Ein T. (ein_typ)


Lesenswert?

Ob S. schrieb:
> Welchen Screenshot? Du hirnloser Troll hast nur ein paar Links gepostet.

Ich gebe dem C-Hater Recht: O tempora, o mores.

von Nemopuk (nemopuk)


Lesenswert?

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
von Alexander (alecxs)


Lesenswert?

Nemopuk schrieb:
> Ich fange mal an: Hmmm

Quelle?

von Harald K. (kirnbichler)


Lesenswert?

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.

von Dieter D. (Firma: Hobbytheoretiker) (dieter_1234)


Lesenswert?

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.

von Harald K. (kirnbichler)


Lesenswert?

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.

von Frank O. (frank_o)


Lesenswert?

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.

von Frank O. (frank_o)


Lesenswert?

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.

😂😂😂😂

von Dieter D. (Firma: Hobbytheoretiker) (dieter_1234)


Lesenswert?

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.

von Alexander (alecxs)


Lesenswert?

Sorry Leute heut wird das nix mehr mit VS Code, ich feiere lieber :D

https://www.mikrocontroller.net/topic/goto_post/8005503

von Nemopuk (nemopuk)


Lesenswert?

Alexander schrieb:
> Sorry Leute heut wird das nix mehr mit VS Code

Von nix kommt nix.

von Philipp K. (philipp_k59)


Lesenswert?

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?

von Nemopuk (nemopuk)


Lesenswert?

Wie gesagt: Es compiliert trotzdem. Dem Compiler ist egal, ob der 
Texteditor alle referenzierten Dateien findet. Alles was der Compiler 
braucht ist auch vorhanden.

von Frank E. (ffje)


Lesenswert?

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

von Alexander (alecxs)


Lesenswert?

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\\**"

von Nemopuk (nemopuk)


Lesenswert?

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.

von Harald K. (kirnbichler)


Lesenswert?

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.

von Nemopuk (nemopuk)


Lesenswert?

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).

von Alexander (alecxs)


Lesenswert?

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.

von Nemopuk (nemopuk)


Lesenswert?

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
von Alexander (alecxs)


Lesenswert?

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.

von Nemopuk (nemopuk)


Lesenswert?

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
von Alexander (alecxs)


Lesenswert?

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`

von Nemopuk (nemopuk)


Lesenswert?

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".

von Nemopuk (nemopuk)


Angehängte Dateien:

Lesenswert?

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
von Alexander (alecxs)


Angehängte Dateien:

Lesenswert?

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.

von Nemopuk (nemopuk)


Lesenswert?

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
von Harald K. (kirnbichler)


Lesenswert?

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/**",

von Nemopuk (nemopuk)


Lesenswert?

Ich habe anderes zu tun. Probiert es doch selber aus. Ich brauche das 
nicht.

von M. P. (phpmysqlfreak)


Lesenswert?

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...)

von Alexander (alecxs)


Lesenswert?

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

von Harald K. (kirnbichler)


Lesenswert?

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?

von M. P. (phpmysqlfreak)


Lesenswert?

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

von Alexander (alecxs)


Lesenswert?

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.

von M. P. (phpmysqlfreak)


Lesenswert?

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?

von Alexander (alecxs)


Lesenswert?

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
von Nemopuk (nemopuk)


Lesenswert?

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
von Harald K. (kirnbichler)


Lesenswert?

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.

von Alexander (alecxs)


Lesenswert?

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)

von Nemopuk (nemopuk)


Lesenswert?

Das hier könnte dich (Alexander) interessieren:
https://github.com/NikolaiRadke/AI.duino

von Rolf (rolf22)


Lesenswert?

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!

von Alexander (alecxs)


Lesenswert?

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
von Alexander (alecxs)


Lesenswert?

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!

von Alexander (alecxs)


Lesenswert?

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
Noch kein Account? Hier anmelden.