Die Verwendung von c_cpp_properties.json und task.json
In VSCode, IntelliSense verwendet den includePath von c_cpp_properties.json, um den Header zu finden Dateien zur automatischen Vervollständigung. Beim Kompilieren von Code müssen Entwickler jedoch häufig auch explizit Include-Pfade in task.json angeben.
Abfrage 1: Angemessene Konfiguration für C-Aufgaben
Sollte Sollen Verzeichnisse und Bibliotheken sowohl in c_cpp_properties.json als auch in task.json angegeben werden? Die Antwort lautet „Ja“, da das Build-System und der Editor unabhängig voneinander in VSCode arbeiten und beide Zugriff auf diese Informationen benötigen.
Empfehlung:
Um die Portabilität über Build-Umgebungen hinweg aufrechtzuerhalten , vermeiden Sie am besten die direkte Angabe von Include-Pfaden in task.json. Erwägen Sie stattdessen die Verwendung eines separaten Build-Systems, das über die Befehlszeile aufgerufen und in task.json referenziert werden kann.
Abfrage 2: Grundlegendes zu includePath und browse
VSCode bietet zwei Systeme zur Interpretation von C-Code: der veraltete „Tag Parser“ und das neuere „Intellisense“. includePath wird von Intellisense verwendet, während browse.path vom Tag-Parser verwendet wird.
Empfehlung:
Für optimale Genauigkeit und Kompatibilität empfehlen wir dringend, den Tag-Parser in den Einstellungen zu deaktivieren → C/C → Intelli Sense Engine. Indem Sie die Engine auf „Standard“ setzen, stellen Sie sicher, dass Intellisense die C-Interpretation übernimmt.
Beispielkonfiguration:
Die bereitgestellte c_cpp_properties.json konfiguriert IntelliSense mit den erforderlichen Informationen Pfade einschließen:
{ "configurations": [ { ... "includePath": [ "${workspaceFolder}/**", "D:/github/dependencies/SDL2-2.0.8/include" ], ... } ], ... }
Die entsprechende task.json, konfiguriert zum Aufrufen von GNU Make Dienstprogramm, würde so aussehen:
{ ... "tasks": [ { "label": "build", "type": "shell", "command": "make", "args": [] } ], ... }
Fazit:
Die doppelte Einbeziehung von Include-Pfaden in c_cpp_properties.json und task.json ist in VSCode eine Notwendigkeit. Allerdings wird die Nutzung eines dedizierten Build-Systems und die Priorisierung von Intellisense gegenüber Tag Parser Ihr C-Entwicklungserlebnis erheblich verbessern.
Das obige ist der detaillierte Inhalt vonSollte ich Einschlusspfade sowohl in „c_cpp_properties.json' als auch in „task.json' für die VSCode C-Entwicklung angeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!