Na ovoj stranici

Prilagođeni čarobnjaci

Ako imate tim koji radi na velikoj aplikaciji ili na više aplikacija, možda ćete htjeti standardizirati način na koji članovi tima stvaraju projekte i datoteke.

Možete stvoriti prilagođene čarobnjake u JSON formatu. Pohranjuju se u direktorije predložaka čarobnjaka koji sadrže JSON konfiguracijsku datoteku naziva wizard.json i sve potrebne predložne datoteke. Konfiguracijska datoteka ima odjeljke koji definiraju informacije o čarobnjaku, varijable koje možete koristiti, stranice čarobnjaka i generatore za stvaranje datoteka.

Da biste stvorili prilagođeni čarobnjak, kopirajte direktorij predloška u direktorij templates/wizards/ u direktorij s postavkama lokalnog korisnika pod novim imenom. Zatim promijenite ID čarobnjaka u datoteci wizard.json.

Možete stvoriti poddirektorij za predloške u direktoriju s postavkama. Qt Creator organizira standardne čarobnjake u poddirektorije prema vrsti, ali svoj direktorij čarobnjaka možete dodati u bilo koji direktorij koji želite. Hijerarhija direktorija ne utječe na redoslijed u kojem Qt Creator prikazuje čarobnjake.

Da biste podijelili čarobnjak s drugim korisnicima, možete stvoriti arhivu direktorija čarobnjaka i uputiti primatelje da je izvuku u jedan od direktorija iz kojih Qt Creator pretražuje čarobnjake.

Qt Creator prikazuje čarobnjake koje pronađe u dijaloškim okvirima New Project i New File. Za svaki čarobnjak prikazuje ikonu (1), prikazano ime (2) i opis (3).

Čarobnjak za novu datoteku

Vrste čarobnjaka

U čarobnjaku za projekte možete navesti datoteke potrebne u projektu. Možete dodati stranice čarobnjaka kako biste omogućili programerima da navedu postavke za projekt.

Čarobnjak za datoteke je sličan, ali nema nijednu projektnu datoteku.

Lokacije čarobnjaka

Qt Creator traži čarobnjake na sljedećim lokacijama:

  • Unaprijed definirani čarobnjaci u zajedničkom direktoriju:
    • Na Windowsu: share\qtcreator\templates\wizards
    • Na Linuxu: share/qtcreator/templates/wizards
    • Na macOSu: Qt Creator.app/Contents/Resources/templates/wizards
  • Vaši prilagođeni čarobnjaci u direktoriju postavki lokalnog korisnika:
    • Na Windowsu: %APPDATA%\QtProject\qtcreator\templates\wizards
    • Na Linuxu i macOSu: $HOME/.config/QtProject/qtcreator/templates/wizards

Savjeti za razvoj čarobnjaka

Dodijelite prečace na tipkovnici za neke pomoćne radnje i uključite detaljan izlaz.

Mapiranje radnji na tipkovničke prečace

Qt Creator ima nekoliko radnji koje mogu poboljšati proces razvoja čarobnjaka. Po zadanom nemaju prečace na tipkovnici, pa ih ne možete pokrenuti. Da biste ih omogućili, dodijelite prečace na tipkovnici u Preferences > Environment > Keyboard > Wizard.

Sljedeće radnje mogu pomoći u razvoju čarobnjaka:

ID radnjeOpis
InspectPokretanje ove radnje otvara prozor koji prikazuje sve definirana polja i varijable u čarobnjaku u trenutku pokretanja radnje. Svaka aktivacija ove radnje otvara novi nemodalni prozor, tako da možete usporediti stanje na različitim stranicama čarobnjaka, na primjer.
Factory.ResetPokretanje ove radnje navodi Qt Creator da zaboravi sve tvornice čarobnjaka, što uzrokuje ponovno učitavanje svih definicija čarobnjaka, na primjer pri otvaranju File > New Project. Na taj način možete izbjeći ponovno pokretanje Qt Creator kako bi vaše promjene u definiciji čarobnjaka postale vidljive.

Detaljan izlaz

Za razvoj čarobnjaka preporučujemo da pokrenete Qt Creator s argumentom -customwizard-verbose kako biste dobili potvrdu da Qt Creator pronalazi i analizira datoteku wizard.json. Režim detaljnog izlaza prikazuje informacije o sintaksnim pogreškama, što su najtipičnije pogreške na koje možete naići tijekom uređivanja čarobnjaka.

U verbose načinu rada svaki ispravno postavljen čarobnjak proizvodi izlaz u sljedećem obliku:

Checking "/home/jsmith/.config/QtProject/qtcreator/templates/wizards/mywizard"
for wizard.json.
* Configuration found and parsed.

Izlaz uključuje naziv direktorija koji Qt Creator provjerava za datoteku wizard.json. Ako datoteku ne pronađe, poruku ne prikazuje.

Ako datoteka sadrži pogreške, kao što je neispravna putanja do ikone, primate sljedeće vrste poruka:

Checking "/home/jsmith/.config/QtProject/qtcreator/templates/wizards/mywizard"
for wizard.json.
* Configuration found and parsed.
* Failed to create: Icon file
"/home/jsmith/.config/QtProject/qtcreator/templates/wizards/mywizard/../..
/global/genericfilewizard.png" not found.

Pogledajte Opcije naredbenog retka za više informacija o argumentima naredbenog retka.

Integracija čarobnjaka u izgradnju

Ako ste programer Qt Creator a ili sami izradite vlastitu verziju Qt Creator a za distribuciju drugima, možete integrirati čarobnjak u Qt Creator. Da biste isporučili čarobnjak kao dio Qt Creator izrade, smjestite datoteke čarobnjaka u zajedničku mapu u izvorima Qt Creator. Zatim idite na Build i odaberite Run CMake. Time se osigurava da se nove datoteke koje ste dodali za svoj čarobnjak zapravo kopiraju iz izvornog direktorija Qt Creator u direktorij za izgradnju Qt Creator kao dio sljedeće izgradnje Qt Creator.

Ako ne pokrenete CMake, vaš novi čarobnjak se neće pojaviti jer ne postoji u direktoriju za izgradnju iz kojeg pokrećete svoj novoizgrađeni Qt Creator. Nikada nije kopiran tamo jer CMake nije obavijestio alat za izgradnju, poput makea ili Ninja, o novim datotekama u izvornoj strukturi.

U osnovi, CMake generira fiksnu listu datoteka za kopiranje iz izvornog direktorija u poddirektorij direktorija za izgradnju, koji se tijekom izvođenja provjerava za čarobnjake. Stoga morate pokrenuti CMake ili izvršiti funkciju Factory.Reset svaki put kada se promijene imena ili lokacije datoteka.

Korištenje varijabli u čarobnjacima

Možete koristiti varijable (%\{<variableName>\}) u nizovima u JSON konfiguracijskoj datoteci i u predložnim izvornih datotekama. Skup varijabli unaprijed je definiran od strane čarobnjaka i njihovih stranica. Možete uvesti nove varijable kao prečace za kasniju upotrebu definiranjem ključeva varijabli i njihovih vrijednosti u odjeljku options u datoteci wizard.json.

Postoji posebna varijabla %\{JS:<JavaScript expression>\} koja evaluira zadani JavaScript izraz i pretvara dobivenu JavaScript vrijednost u niz. U JavaScript izrazu možete upućivati na varijable definirane pomoću čarobnjaka s value('<variableName>'). Vraćeni JavaScript objekt ima tip koji odgovara vrijednosti varijable, a to može biti niz, popis, rječnik ili boolean.

Na mjestima gdje se očekuje boolean vrijednost, a zadana je string vrijednost, prazan string kao i string "false" tretiraju se kao false, a sve ostalo kao true.

Lokalizacija čarobnjaka

Ako naziv postavke započinje prefiksom tr, vrijednost je vidljiva korisnicima i treba je prevesti. Ako je novi čarobnjak uključen u izvore Qt Creator, prevodive nizove pojavljuju se u datotekama za prijevod Qt Creator i mogu se prevesti kao dio Qt Creator. Alternativno, prijevode možete smjestiti u datoteku .json koristeći sljedeću sintaksu:

"trDisplayName": { "C": "default", "en": "english", "de": "deutsch" }

Na primjer:

"trDisplayName": { "C": "Project Location", "en": "Project Location", "de": "Projektverzeichnis" }

Izrada čarobnjaka

Qt Creator sadrži čarobnjake za dodavanje klasa, datoteka i projekata. Možete ih koristiti kao osnovu za dodavanje vlastitih čarobnjaka. Koristimo čarobnjak za C++ kako bismo objasnili postupak te odjeljke i postavke u datoteci .json.

U ovom primjeru stvaramo direktorij čarobnjaka u zajedničkom direktoriju i integriramo ga u sustav izgradnje Qt Creator, tako da se može raspoređivati zajedno s binarnim datotekama Qt Creator kao dio izgradnje.

C++ dijalog klase

Za više informacija o stranicama i widgetima koje možete dodati i njihovim podržanim svojstvima pogledajte Dostupne stranice i Dostupne widgete.

Za izradu čarobnjaka za C++ klase temeljenog na JSON-u:

  1. Pokrenite Qt Creator s argumentom -customwizard-verbose kako biste primali povratne informacije tijekom razvoja čarobnjaka. Za više informacija pogledajte odjeljak Verbose Output.
  2. Postavite prečace na tipkovnici za radnje Inspect i Factory.Reset, kao što je opisano u Savjetima za razvoj čarobnjaka.
  3. Napravite kopiju share/qtcreator/templates/wizards/classes/cpp i preimenujte je. Na primjer, $HOME/.config/QtProject/qtcreator/templates/wizards/classes/mycpp.
  4. Koristite radnju Factory.Reset kako biste prikazali čarobnjak u File > New File bez ponovnog pokretanja Qt Creator a.
  5. Otvorite konfiguracijsku datoteku čarobnjaka, wizard.json, za uređivanje:
    • Sljedeće postavke određuju vrstu čarobnjaka i njegovo mjesto u dijaloškom okviru New File:
      "version": 1,
      "supportedProjectTypes": [ ],
      "id": "A.Class",
      "category": "O.C++",
      • version je verzija sadržaja datoteke. Nemojte mijenjati ovu vrijednost.
      • supportedProjectTypes je opcionalna postavka koja se može koristiti za filtriranje čarobnjaka pri dodavanju nove build-ciljane stavke postojećem projektu. Na primjer, prikazati samo čarobnjake koji stvaraju qmake projekte pri dodavanju nove ciljane stavke postojećem qmake projektu.

        Moguće vrijednosti su sustavi za izgradnju koje podržava Qt Creator ili UNKNOWN_PROJECT ako sustav za izgradnju nije naveden: AutotoolsProjectManager.AutotoolsProject, CMakeProjectManager.CMakeProject, GenericProjectManager.GenericProject, PythonProject, Qbs.QbsProject, Qt4ProjectManager.Qt4Project (qmake projekt), QmlProjectManager.QmlProject

      • id je jedinstveni identifikator za vaš čarobnjak. Čarobnjaci se sortiraju po ID-u abecednim redom unutar category. Možete koristiti početno slovo kako biste specificirali položaj čarobnjaka. Ovu vrijednost morate uvijek promijeniti. Na primjer, B.MyClass.

        Ova je informacija dostupna u čarobnjaku kao %\{id\}.

      • category je kategorija u koju se čarobnjak postavlja na popisu. Možete koristiti početno slovo za određivanje položaja kategorije na popisu u dijalogu New File.

        Ove su informacije dostupne u čarobnjaku kao %\{category\}.

    • Sljedeće postavke određuju ikonu i tekst koji se pojavljuju u dijalogu New File:
      "trDescription": "Creates a C++ header and a source file for a new class that you can add to a C++ project.",
      "trDisplayName": "C++ Class",
      "trDisplayCategory": "C++",
      "iconText": "h/cpp",
      "enabled": "%{JS: isPluginRunning('cppeditor')}",
      • trDescription prikazuje se u desnom panelu kada je odabran trDisplayCategory.

        Ove su informacije u čarobnjaku dostupne kao %\{trDescription\}.

      • trDisplayName prikazuje se u srednjem panelu kada je odabran trDisplayCategory.

        Ove informacije su dostupne u čarobnjaku kao %\{trDisplayName\}.

      • trDisplayCategory prikazuje se u dijalogu New File, pod Files and Classes.

        Ove informacije su dostupne u čarobnjaku kao %\{trDisplayCategory\}.

      • icon prikazuje se pored trDisplayName u srednjem panelu kada je odabrana opcija trDisplayCategory. Preporučujemo da navedete putanju relativno u odnosu na datoteku wizard.json, ali možete koristiti i apsolutnu putanju. Ostavite ovu vrijednost praznom da biste koristili zadanu ikonu za vrstu čarobnjaka.
      • iconText određuje tekstni natpis za zadanu ikonu datoteke.
      • iconKind određuje je li ikona tematska.
      • image određuje putanju do slike (na primjer snimke zaslona) koja se pojavljuje ispod trDescription a.
      • featuresRequired određuje značajke Qt Creator na koje je čarobnjak ovisan. Ako nedostaje potrebna značajka, čarobnjak je skriven. Na primjer, ako nijedan paket nema postavljena Qt verziju, tada su čarobnjaci temeljeni na qmakeu skriveni.

        Koristite enabled ako trebate izraziti složeniju logiku za odlučivanje o tome hoće li vaš čarobnjak biti dostupan.

        Ove su informacije u čarobnjaku dostupne kao %\{RequiredFeatures\}.

      • featuresPreferred određuje kompleta za izgradnju i pokretanje za predizbor.

        Ove su informacije dostupne u čarobnjaku kao %\{PreferredFeatures\}.

      • platformIndependent se postavlja na true ako je čarobnjak podržan na svim ciljnim platformama. Po zadanom je postavljeno na false.
      • enabled se ocjenjuje kako bi se utvrdilo je li čarobnjak naveden u File > New Project ili New File, nakon što je featuresRequired provjeren.

        Zadana vrijednost je true.

    • Odjeljak options sadrži niz objekata s atributima ključ i vrijednost. Možete definirati vlastite varijable koje ćete koristiti u konfiguracijskim i izvornim datotekama predložaka, uz već definirane varijable. Na primjer, čarobnjak za izradu C++ klasa koristi sljedeće varijable:
      "options":
      [
          { "key": "TargetPath", "value": "%{Path}" },
          { "key": "HdrPath", "value": "%{Path}/%{HdrFileName}" },
          { "key": "SrcPath", "value": "%{Path}/%{SrcFileName}" },
          { "key": "CN", "value": "%{JS: Cpp.className(value('Class'))}" },
          { "key": "Base", "value": "%{JS: value('BaseCB') === '' ? value('BaseEdit') : value('BaseCB')}" },
          { "key": "isQObject", "value": "%{JS: (value('Base') === 'QObject' || value('Base') === 'QWidget' || value('Base') === 'QMainWindow' || value('Base') === 'QQuickItem' ) ? 'true' : 'false'}" },
          { "key": "GUARD", "value": "%{JS: Cpp.headerGuard(value('HdrFileName'))}" },
          { "key": "SharedDataInit", "value": "%{JS: value('IncludeQSharedData') ? 'data(new %{CN}Data)' : '' }" }
      ],

      Ovaj odjeljak je neobavezan. Za više primjera varijabli pogledajte datoteke wizard.json za druge čarobnjake.

    • Odjeljak pages određuje stranice čarobnjaka. Koriste se stranice ovisno o vrsti čarobnjaka. Možete dodati standardne stranice čarobnjakima ili stvoriti nove stranice koristeći dostupne widgete. Sljedeći parametri određuju prikazano ime, naslov i vrstu stranice:
      "pages":
      [
          {
              "trDisplayName": "Define Class",
              "trShortTitle": "Details",
              "typeId": "Fields",
              "data" :
              [
                  {
                      "name": "Class",
                      "trDisplayName": "Class name:",
                      "mandatory": true,
                      "type": "LineEdit",
                      "data": {
                          "trPlaceholder": "Fully qualified name, including namespaces",
                          "validator": "(?:(?:[a-zA-Z_][a-zA-Z_0-9]*::)*[a-zA-Z_][a-zA-Z_0-9]*|)",
                          "completion": "namespaces"
                          }
          },
                  ...
      ]
      • typeId određuje stranicu za korištenje: Fields, File, Form, Kits, Project, VcsConfiguration, VcsCommand ili Summary.

        Cjelokupni ID stranice, kako se koristi u kodu, sastoji se od prefiksa "PE.Wizard.Page." i typeId. Za više informacija o stranicama pogledajte Dostupne stranice.

      • trDisplayName određuje naslov stranice. Po zadanom se koristi naslov stranice.
      • trShortTitle određuje naslov koji se koristi u bočnoj traci čarobnjaka. Po zadanom se koristi naslov stranice.
      • trSubTitle određuje podnaslov stranice. Po zadanom se koristi naslov stranice.
      • index je cjelobrojna vrijednost koja određuje ID stranice. Automatski se dodjeljuje ako je ne postavite.
      • enabled postavlja se na true za prikaz stranice i na false za njezino sakrivanje. Ovo se vrednuje samo jednom pri stvaranju odgovarajuće stranice čarobnjaka.
      • skipForSubprojects može se koristiti za preskakanje stranice čarobnjaka. Korisno npr. za obradu informacija o izgradnji. Ovo se ocjenjuje samo jednom u trenutku stvaranja odgovarajuće stranice čarobnjaka.
      • data određuje stranice čarobnjaka. U C++ čarobnjaku određuje stranicu Fields i stranicu Summary. Stranica Fields ima kontrole CheckBox, ComboBox, LineEdit, PathChooser i Spacer. Za više informacija o kontrolama pogledajte Dostupne kontrole.
    • Odjeljak generators navodi datoteke koje se dodaju u projekt:
      "generators":
      [
          {
              "typeId": "File",
              "data":
              [
                  {
                      "source": "file.h",
                      "target": "%{HdrPath}",
                      "openInEditor": true
                      "options": [
                          { "key": "Cpp:License:FileName", "value": "%{HdrFileName}" },
                          { "key": "Cpp:License:ClassName", "value": "%{CN}" }
                      ]
                  },
                  {
                      "source": "file.cpp",
                      "target": "%{SrcPath}",
                      "openInEditor": true
                      "options": [
                          { "key": "Cpp:License:FileName", "value": "%{SrcFileName}" },
                          { "key": "Cpp:License:ClassName", "value": "%{CN}" }
                      ]
                  }
      ]
      • typeId određuje vrstu generatora. Trenutno je podržan samo File ili Scanner.
      • data omogućuje daljnju konfiguraciju generatora.

Vrijednosti dostupne čarobnjaku

Osim svojstava preuzetih iz same datoteke wizard.json (vidi Stvaranje čarobnjaka), Qt Creator čini neke informacije dostupnima svim čarobnjacima temeljenim na JSON-u:

  • WizardDir je apsolutna putanja do datoteke wizard.json.
  • Features popisuje sve značajke dostupne putem bilo kojeg od kitova konfiguriranih u Qt Creator u.
  • Plugins sadrži popis svih dodataka (plugina) koji se pokreću u trenutnoj instanci Qt Creator-a.
  • Platform ima platformu odabranu u dijalogu File > New Project ili New File. Ova vrijednost može biti prazna.

Sljedeće informacije dostupne su samo kada korisnici pokrenu čarobnjak putem kontekstnog izbornika čvora u prikazu Projects:

  • InitialPath s putanjom do odabranog čvora.
  • ProjectExplorer.Profile.Ids ima popis Kitova konfiguriranih za projekt odabranog čvora.

Dostupne stranice

Možete dodati unaprijed definirane stranice u čarobnjake tako da ih navedete u odjeljku pages datoteke wizard.json.

Stranica polja

Stranica polja ima vrijednost typeId Field i sadrži widgete. Za više informacija o definicijama widgeta pogledajte Dostupni widgeti.

"pages":
[
    {
        "trDisplayName": "Define Class",
        "trShortTitle": "Details",
        "typeId": "Fields",
        "data" :
        [
            {
                "name": "Class",
                "trDisplayName": "Class name:",
                "mandatory": true,
                "type": "LineEdit",
                "data": {
                    "trPlaceholder": "Fully qualified name, including namespaces",
                    "validator": "(?:(?:[a-zA-Z_][a-zA-Z_0-9]*::)*[a-zA-Z_][a-zA-Z_0-9]*|)",
                    "completion": "namespaces"
                    }
            },
            ...
],

Stranica datoteke

Stranica datoteka ima vrijednost polja typeId File . Možete izostaviti ključ data ili mu dodijeliti prazan objekt.

{
    "trDisplayName": "Location",
    "trShortTitle": "Location",
    "typeId": "File"
},

Stranica evaluira InitialFileName i InitialPath iz čarobnjaka kako bi postavila početnu putanju i naziv datoteke. Stranica postavlja TargetPath na punu putanju datoteke koja će se stvoriti.

Stranica obrasca

Stranica obrasca ima vrijednost typeId Form . Možete izostaviti ključ data ili mu dodijeliti prazan objekt.

{
    "trDisplayName": "Choose a Form Template",
    "trShortTitle": "Form Template",
    "typeId": "Form"
},

Stranica postavlja FormContents na niz nizova sadržaja obrasca.

Kits

Stranica Kits ima vrijednost typeId Kits . Odjeljak data na stranici Kits ima objekt sa sljedećim postavkama:

  • projectFilePath s putanjom do datoteke projekta.
  • requiredFeatures s popisom nizova ili objekata koji opisuju značajke koje komplet mora imati da bi se pojavio na stranici.

    Kada se pronađe niz, ova značajka mora biti postavljena. Kada se umjesto toga koristi objekt, provjeravaju se sljedeća podešavanja:

    • feature, koji mora biti niz (u kojem će se sve %\{<VariableName\} proširiti).
    • condition, koji se mora ocijeniti kao true ili false i može se koristiti za uklanjanje značajke s popisa.
  • preferredFeatures s popisom u istom formatu kao requiredFeatures. Svaki komplet koji zadovoljava sve značajke navedene u preferredFeatures (uz requiredFeatures) bit će unaprijed odabran na ovoj stranici.
{
    "trDisplayName": "Kit Selection",
    "trShortTitle": "Kits",
    "typeId": "Kits",
    "data": { "projectFilePath": "%{ProFileName}" }
},

Stranica evaluira %\{Platform\} kako bi postavila platformu odabranu u File > New Project ili New File.

Napomena: Ova stranica postavlja skipForSubprojects na true kako bi se stranica prikrila u slučaju da nije potrebna, budući da podprojekti nasljeđuju ovu informaciju od svog matičnog projekta.

Projekt

Stranica projekta ima vrijednost typeId postavljenu na Project. Ne sadrži podatke niti objekt s svojstvom trDescription koji će biti prikazan na generiranoj stranici. trDescription prema zadanim postavkama je %\{trDescription\}, koji se popunjava informacijama preuzetim iz polja trDescription datoteke wizard.json.

{
    "trDisplayName": "Project Location",
    "trShortTitle": "Location",
    "typeId": "Project",
    "data": { "trDescription": "A description of the wizard" }
},

Stranica ocjenjuje InitialPath kako bi postavila početnu putanju projekta. Stranica postavlja ProjectDirectory i TargetPath na direktorij projekta. Nadalje, stranica postavlja IsSubproject na true ako je projekt eksplicitno dodan u drugi projekt. U tom slučaju BuildSystem bit će postavljena na sustav za izgradnju roditeljskog projekta.

Sažetak

Stranica sa sažetkom ima vrijednost typeId postavljenu na Summary. Ne sadrži nikakve podatke ili je objekt prazan.

{
    "trDisplayName": "Project Management",
    "trShortTitle": "Summary",
    "typeId": "Summary"
}

Stranica postavlja IsSubproject na false ako je riječ o projektu najviše razine, a inače na true. Postavlja VersionControl na ID sustava kontrole verzija koji se koristi.

VcsCommand

Stranica VcsCommand pokreće skup operacija kontrole verzija i prikazuje rezultate.

Odjeljak data ove stranice prihvaća objekt sa sljedećim ključevima:

  • vcsId s ID-om sustava za kontrolu verzija koji se koristi.
  • trRunMessage s porukom koja će se prikazivati dok sustav kontrole verzija radi.
  • extraArguments s nizom ili popisom nizova koji definiraju dodatne argumente koji se prosljeđuju naredbi za preuzimanje iz sustava kontrole verzija.
  • repository s URL-om za preuzimanje iz sustava kontrole verzija.
  • baseDirectory s direktorijem u kojem će se izvršiti operacija preuzimanja.
  • checkoutName s poddirektorijem koji će biti stvoren za pohranu preuzetih podataka.
  • extraJobs s popisom objekata koji definiraju dodatne naredbe za izvršavanje nakon početnog preuzimanja. Ovo se može koristiti za daljnju prilagodbu repozitorija, na primjer dodavanjem dodatnih udaljenih repozitorija ili postavljanjem konfiguracijskih varijabli sustava za kontrolu verzija.

    Svaki extraJob definiran je objektom sa sljedećim postavkama:

    • skipIfEmpty tiho uklanja prazne argumente iz naredbe za pokretanje ako ga postavite na true. Zadano je true.
    • directory s radnim direktorijem naredbe za pokretanje. To je zadano vrijednost baseDirectory.
    • command s naredbom za izvršavanje.
    • arguments s argumentima koji se prosljeđuju command.
    • timeOutFactor produžuje zadane vremenske limite za dugotrajne naredbe.
    • enabled koji će se ocijeniti kako bi se odlučilo hoće li se ovaj posao doista izvršiti ili ne.

Konfiguracija verzijskog upravljanja

Stranica VcsConfiguration traži od korisnika da konfigurira sustav kontrole verzija i omogućuje gumb Next tek nakon uspješne konfiguracije.

Odjeljak data na ovoj stranici prima objekt s ključem vcsId. Ova postavka definira sustav kontrole verzija koji će se konfigurirati.

Dostupni widgeti

Na stranici polja možete dodati sljedeće widgete:

  • Kutija za potvrdu
  • Spustivi popis
  • Oznaka
  • Uređivanje retka
  • Odabir staze
  • Razmak
  • Uređivanje teksta

Napomena: Čarobnjaci podržavaju samo postavke dokumentirane u sljedećim odjeljcima.

Navedite sljedeće postavke za svaki widget:

  • name određuje naziv widgeta. Taj se naziv koristi kao ime varijable za ponovni pristup vrijednosti.
  • trDisplayName određuje tekst oznake vidljiv u korisničkom sučelju (ako span nije true).
  • type određuje tip widgeta: CheckBox, ComboBox, Label, LineEdit, PathChooser, Spacer i TextEdit.
  • trToolTip određuje alatni savjet koji se prikazuje kada se pokazivač miša zadrži iznad polja.
  • isComplete se ocjenjuje za sva polja kako bi se odlučilo je li gumb Next čarobnjaka dostupan ili ne. Sva polja moraju imati isComplete koji se ocjenjuje kao true da bi se to dogodilo. Ova postavka prema zadanim postavkama iznosi true.
  • trIncompleteMessage se prikazuje kada se isComplete polja procijeni kao false.
  • persistenceKey čini korisnikov odabir trajnim. Vrijednost se uzima kao ključ postavki. Ako korisnik promijeni zadanu vrijednost widgeta, njegova se vrijednost pohranjuje i postat će nova zadana vrijednost sljedeći put kada se pokrene čarobnjak.
  • visible postavlja se na true ako je widget vidljiv, inače se postavlja na false. Po zadanom je postavljeno na true.
  • enabled postavlja se na true ako je widget omogućen, inače se postavlja na false. Po zadanom je postavljeno na true.
  • mandatory je postavljeno na true ako ovaj widget mora imati vrijednost da bi gumb Next bio omogućen. Po zadanom je postavljeno na true.
  • span namijenjen je za skrivanje oznake i premošćivanje obrasca. Po zadanom je postavljen na false. Za više informacija pogledajte Korištenje varijabli u čarobnjacima.
  • data određuje dodatne postavke za određenu vrstu widgeta, kako je opisano u sljedećim odjeljcima.

Kutija za potvrdu

{
    "name": "IncludeQObject",
    "trDisplayName": "Include QObject",
    "type": "CheckBox",
    "data":
    {
        "checkedValue": "QObject",
        "uncheckedValue": "",
        "checked": "%{JS: value('BaseCB') === 'QObject' ? 'true' : 'false'}"
    }
},
  • checkedValue određuje vrijednost koja se postavlja kada je potvrdni okvir omogućen. Po zadanom je postavljeno na true.
  • uncheckedValue određuje vrijednost koja se postavlja kada je potvrdni okvir onemogućen. Po zadanom je postavljeno na false.
  • checked Postavlja se na true ako je potvrdni okvir omogućen, inače na false.

Popis

Napomena: Tipovi Combo Box i Icon List obje su varijacije tipa List i stoga mogu imati ista svojstva.

{
    "name": "BaseCB",
    "trDisplayName": "Base class:",
    "type": "ComboBox",
    "data":
    {
        "items": [ { "trKey": "<Custom>", "value": "" },
                   "QObject", "QWidget", "QMainWindow", "QQuickItem" ]
    }
},

ili

{
    "name": "ChosenBuildSystem",
    "trDisplayName": "Choose your build system:",
    "type": "IconList",
    "data":
    {
        "items": [
            { "trKey": "CMake", "value": "cmake", "icon": "cmake_icon.png", "trToolTip": "Building with CMake." },
            { "trKey": "Qbs", "value": "qbs", "icon": "qbs_icon.png", "trToolTip": "Building with Qbs." },
            { "trKey": "QMake", "value": "qmake", "icon": "qmake_icon.png", "trToolTip": "Building with QMake." }
        ]
    }
},
  • items određuje popis stavki koje se stavljaju u tip popisa. Popis može sadržavati i JSON objekte i obične nizove. Za JSON objekte definirajte parove trKey i value, gdje je trKey vidljiva stavka popisa korisnicima, a value sadrži podatke povezane sa stavkom. Osim toga, možete koristiti icon za određivanje ikone za stavku popisa i trToolTip za određivanje alata za pomoć (tooltip) za nju.
  • index određuje indeks za odabir kada je tip popisa omogućen. Po zadanom je postavljen na 0.
  • disabledIndex određuje indeks koji se prikazuje ako je tip popisa onemogućen.

Oznaka

{
    "name": "LabelQQC_2_0",
    "type": "Label",
    "span": true,
    "visible": "%{JS: value('CS') === 'QQC_2_0'}",
    "data":
    {
        "wordWrap": true,
        "trText": "Creates a deployable Qt Quick 2 application using Qt Quick Controls.",
    }
},
  • wordWrap je postavljena na true za omogućavanje prijeloma riječi. Po zadanom je postavljena na false.
  • trText ima tekst oznake za prikaz.

Uređivanje retka

{
    "name": "Class",
    "trDisplayName": "Class name:",
    "mandatory": true,
    "type": "LineEdit",
    "data": {
        "trPlaceholder": "Fully qualified name, including namespaces",
        "validator": "(?:(?:[a-zA-Z_][a-zA-Z_0-9]*::)*[a-zA-Z_][a-zA-Z_0-9]*|)",
        "completion": "namespaces"
    }
},
{
    "name": "BaseEdit",
    "type": "LineEdit",
    "enabled": "%{JS: value('BaseCB') === '' ? 'true' : 'false'}",
    "mandatory": false,
    "data":
    {
        "trText": "%{BaseCB}",
        "trDisabledText": "%{BaseCB}",
        "completion": "classes"
    }
},
  • trText određuje prijevodivi zadani tekst za prikaz.
  • text određuje neprevodivi zadani tekst za prikaz.
  • trDisabledText određuje tekst za prijevod koji se prikazuje u onemogućeno polje.
  • disabledText određuje nepremostivi tekst za prikaz u onemogućeno polje.
  • completion navodi postojeće namespaces e za linijsku izmjenu naziva klase i postojeće classes e za linijsku izmjenu osnovne klase. Ova vrijednost zamjenjuje dovršivač povijesti koji je obično dostupan za takva polja.
  • trPlaceholder određuje tekst zamjenske oznake koji se može prevoditi.
  • placeholder određuje netraducirajući tekst mjesta držača.
  • validator određuje QRegularExpression za provjeru valjanosti linijskog uređivača.
  • fixup određuje varijablu koja se koristi za prilagodbu niza. Na primjer, za pretvaranje prvog znaka u polju za unos u veliko slovo.
  • isPassword je booleanska vrijednost koja specificira da linijski unos ima lozinku, koja će biti maskirana.
  • historyId je ključ koji određuje naziv za popis stavki za dovršivač povijesti. Ova vrijednost i completion isključivi su, stoga ih nemojte postavljati istovremeno.
  • restoreLastHistoryItem je boolean koji specificira da se zadnja stavka povijesti automatski postavlja kao zadani tekst u polje za unos. Ovaj ključ može se postaviti na true samo ako je i historyId postavljen.

Odabir staze

{
    "name": "Path",
    "type": "PathChooser",
    "trDisplayName": "Path:",
    "mandatory": true,
    "data":
    {
        "kind": "existingDirectory",
        "basePath": "%{InitialPath}",
        "path": "%{InitialPath}"
    }
},
  • path određuje odabranu putanju.
  • basePath određuje osnovnu putanju u odnosu na koju se obavlja pretraživanje.
  • kind definira što tražiti: existingDirectory, directory, file, saveFile, existingCommand, command, ili any.

Razmak

{
    "name": "Sp1",
    "type": "Spacer",
    "data":
    {
        "factor": 2
    }
},

Postavka factor određuje faktor (cijeli broj) za množenje razmaka rasporeda za ovaj razmaknik.

Uređivanje teksta

{
    "name": "TextField",
    "type": "TextEdit",
    "data" :
    {
        "trText": "This is some text",
        "richText": true
    }
}
  • trText određuje tekst za prikaz koji se može prevoditi.
  • text određuje tekst koji se ne prevodi i prikazuje.
  • trDisabledText određuje prijevodivi tekst za prikaz kada je polje za unos teksta onemogućeno.
  • disabledText određuje nepremostivi tekst za prikaz kada je uređivanje teksta onemogućeno.
  • richText postavljeno je na true za obogaćeni tekst, inače na false.

Dostupni generatori

Qt Creator podržava dva različita generatora za JSON čarobnjake.

Generator datoteka

File generator očekuje popis objekata u odjeljku data. Svaki objekt definira jednu datoteku koja će se obraditi i kopirati u %\{TargetPath\} (ili bilo koju drugu lokaciju).

Svaki objekt datoteke može imati sljedeće postavke:

  • source određuje putanju i naziv predloške datoteke u odnosu na direktorij koji sadrži datoteku wizard.json.

    Ako source nije postavljeno, pretpostavlja se da se datoteka s nazivom navedenim u target generira na neki drugi način. To je korisno, na primjer, za navođenje ispravne datoteke za otvaranje kao projekta nakon preuzimanja podataka iz sustava za kontrolu verzija.

  • target određuje lokaciju generirane datoteke, bilo apsolutnu ili relativnu u odnosu na %{TargetPath}, što obično postavlja jedna od stranica čarobnjaka.
  • openInEditor otvara datoteku u odgovarajućem uređivaču ako je postavljeno na true. Ova postavka prema zadanim postavkama iznosi false.
  • openAsProject otvara datoteku projekta u Qt Creator ako je postavljeno na true. Ova postavka zadano je false.
  • isBinary tretira datoteku kao binarnu i sprječava zamjene u datoteci ako je postavljeno na true. Ova postavka prema zadanim postavkama iznosi false.
  • condition generira datoteku ako uvjet vraća true. Ova postavka zadano je true. Za više informacija pogledajte Upotreba varijabli u čarobnjacima.

Generator skenera

Scanner generator skenira %\{TargetPath\} i generira popis svih tamo pronađenih datoteka.

Scanner generator uzima jedan objekt u svojoj sekciji data s sljedećim postavkama:

  • binaryPattern je regularni izraz koji će se usporediti sa svim pronađenim nazivima datoteka. Svaki podudaran naziv bit će označen kao binarna datoteka i zamjena predloška bit će preskočena za tu datoteku. Ova postavka prema zadanim postavkama ima prazan obrazac, pa nijedna datoteka neće biti označena kao binarna.
  • subdirectoryPatterns je popis uzoraka redovnih izraza. Svaka mapa koja odgovara jednom od tih uzoraka bit će skenirana, kao i glavna mapa. Zadana vrijednost ove postavke je prazan popis, tako da se nijedna podmapu neće skenirati.

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.