Clang model koda
Model koda je dio IDE-a koji razumije jezik koji koristite za pisanje svoje aplikacije. To je okvir koji omogućuje da ' Qt Creator ' ponudi sljedeće usluge:
- Dopuna koda
- Sintaktičko i semantičko isticanje
- Kretanje kroz kod pomoću lokatora, praćenja simbola i slično
- Pregledavanje koda pomoću preglednika klasa, pregleda strukture i slično
- Dijagnostika
- Pomoćni vrhovi
- Pronalaženje simbola
- Preimenovanje simbola
- Brze ispravke
Clang Code Model dodatak nudi neke od ovih usluga za C++ na vrhu Clangd-a.
O Clang modelu koda
Projekt Clang ima biblioteke za analizu izvornog koda iz obitelji C jezika. Povratne informacije koje dobivate putem oznaka za upozorenja i pogreške iste su kao one koje bi vam dao kompajler, a ne nepotpun skup ili gruba aproksimacija, kao što je slučaj kod korištenja ugrađenog modela koda " Qt Creator ". Clang se usredotočuje na detaljne informacije za dijagnostiku, što je zaista korisno ako kod, na primjer, sadrži tipfelere. Ove biblioteke koristimo putem alata clangd, koji implementira LSP poslužitelj.
Clang prati razvoj C++ jezika. U vrijeme pisanja ovog teksta podržava C++98/03, C++11, C++14, C++17, C89, C99, Objective-C i Objective-C++.
S druge strane, kod velikih projekata korištenje Clanga kao modela koda sporije je od korištenja ugrađenog modela koda. Clangu nije potrebno generirati objektne datoteke, ali i dalje mora parsirati i analizirati izvorne datoteke. Za male projekte koji koriste samo STL, to je relativno brzo. No kod većih projekata koji uključuju nekoliko datoteka, obrada jedne datoteke i svih uključenih datoteka može potrajati.
Plugin za Clangov model koda sada nudi neke od istih usluga kao i ugrađeni model koda za C/C++:
- Dopuna koda
- Sintaktičko i semantičko isticanje
- Dijagnostika
- Pregled simbola
- Pomoćni vrhovi
- Slijedeći simboli
- Preimenovanje simbola
- Pronalaženje pojavljivanja simbola
Da biste umjesto toga koristili ugrađeni model koda, odaberite Preferences > C++ > clangd i poništite Use clangd. Ova postavka također postoji na razini projekta, tako da možete općenito imati Clang-bazirane usluge omogućene, ali ih isključiti za određene projekte ili obrnuto.
Možete konfigurirati Clang dijagnostiku za:
- Clang model koda (globalno ili na razini projekta)
- Clang alati (globalno ili na razini projekta)
Clangd indeksiranje
Clangd indeks pruža točne i potpune rezultate za usluge kao što su pronalaženje referenci, praćenje simbola ispod kursora i korištenje locatora, čak i za složene konstrukcije. Kada otvorite projekt, clangd skenira izvorne datoteke kako bi generirao indeks. Kod velikih projekata ovo može potrajati, ali indeks je trajan, a ponovno skeniranje je postupno, tako da se ništa ne gubi zatvaranjem i ponovnim pokretanjem Qt Creator-a.
Za privremeno onemogućavanje globalnog indeksiranja odaberite Toggle Progress Details (1), a zatim na traci napretka odaberite X.

Po zadanome, Qt Creator pokreće jedan clangd proces po projektu. Ako ste stvorili sesije koje imaju povezane projekte, možete odrediti da se projekti u sesiji upravljaju jednim clangd procesom.
Okvir dokumenta u prikazu Outline podržan je clangd-ovom podrškom za simbole dokumenata, što rezultate čini pouzdanijima nego prije.
Vidi također Konfigurirajte model koda za C++, Postavite postavke za clangd, Postavite postavke alata Clang, Koristite baze podataka o kompilaciji, Model koda i Clangd.
Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.