Na ovoj stranici

Stil koda za C++

Qt Creator koristi biblioteku Clang LibFormat za automatsko formatiranje i uvučenje C++ koda. Ona nameće stil kodiranja za projekt ili cijelu organizaciju.

Da biste specificirali globalne postavke uvučenja za C++ uređivač, idite na Preferences > C++ > Code Style.

Sljedeća tablica opisuje dostupne postavke.

PreferencijaOpis
Formatting modeOdaberite:
  • Indenting Only za samo uvlačenje koda.
  • Full Formatting za korištenje prečaca na tipkovnici Ctrl+I za formatiranje koda umjesto uvlačenja.
  • Use Built-In Indenter da isključite ClangFormat.
Ignore files greater thanUbrzajte analizu ignoriranjem velikih datoteka. Navedite maksimalnu veličinu datoteka za analizu.
Format while typingPrimijenite formatiranje dok tipkate.
Format edited code on file savePrimijenite formatiranje na uređeni kod prilikom spremanja datoteke. Da biste privremeno onemogućili ovu postavku prilikom spremanja datoteke, idite na File i odaberite Save Without Formatting.
Use custom settingsPromijenite stil ClangFormata globalno za sve projekte.
Custom settingsOdaberite postavke koje želite promijeniti, zatim odaberite Copy. Dajte ime postavkama i odaberite OK.
ClangFormatUredite opcije stila ClangFormat. Živi pregled prikazuje kako postavke mijenjaju uvlačenje. Ako unesete nevažeće vrijednosti, vidjet ćete poruke upozorenja.

Korištenje ugrađenog indentera

Preferencije stila koda za ugrađeni indenter

Ako odaberete Use Built-In Indenter u Formatting mode, možete odrediti kako:

  • Tumačiti pritiske tipki Tab i Backspace.
  • Dodajte makroe koje indenter interpretira kao potpune naredbe kojima na kraju nije potreban semikolon.
  • Uvući sadržaj klasa, funkcija, blokova i imennih prostora.
  • Uvući klamme u klasama, imenskim prostorima, enumima, funkcijama i blokovima.
  • Kontrolirajte naredbe prebacivanja i njihov sadržaj.
  • Poravnajte nastavne retke.
  • Povežite pokazivače (*) i reference (&) u tipovima i deklaracijama s identifikatorima, nazivima tipova ili ključnim riječima lijevo ili desno od const ili volatile.

Postavljanje postavki za sadržaj

Možete indentirati javne, zaštićene i privatne izjave i s njima povezane deklaracije unutar klasa.

Također možete uvući izjave unutar funkcija i blokova te deklaracije unutar imennih prostora.

Jezgra u kartici Stila koda u postavkama C++

Postavljanje postavki za zagrade

Možete uvući deklaracije klasa, imennih prostora, enuma i funkcija te blokove koda.

Jezikak Braces na kartici Code Style u postavkama C++

Postavljanje postavki za switch naredbe

Možete poravnati case ili default naredbe, ili naredbe ili blokove povezane s njima unutar switch naredbi.

"switch" kartica na kartici Stila koda u postavkama C++

Postavljanje poravnanja

Za poravnanje nastavnih redaka s tokenima nakon dodjela, kao što su = ili +=, odaberite Align after assignments. Dodatne postavke za poravnanje nastavnih redaka možete odrediti na kartici General.

Također možete dodati razmake uvjetnim izrazima, tako da se ne poravnaju s idućim redom. Obično to utječe samo na izraze if.

Jezik poravnanja u jeziku Stila koda u postavkama C++

Povezivanje pokazivača i referenci

Da biste povezali pokazivače (*) i reference (&) u tipovima i deklaracijama s identifikatorima, nazivima tipova ili ključnim riječima lijevog ili desnog const ili volatile, odaberite potvrdne okvire na kartici Pointers and References.

Karakteri * i & automatski su vezani uz identifikatore pokazivača na funkcije i pokazivače na nizove.

 kartica Pokazivači i reference u kartici Stil koda u postavkama C++

Izrada ClangFormat datoteka s naredbenog retka

Možete stvoriti .clang-format datoteke koje imaju konfiguracijske opcije određenog unaprijed definiranog stila s naredbenog retka. Na primjer, za stvaranje formatne datoteke za stil LLVM unesite sljedeću naredbu:

clang-format -style=llvm -dump-config > .clang-format

Vidi također Indentiraj tekst ili kod, Postavi stil koda, Ponašanje, Postavi stil koda za Qt Quick i Nim.

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.