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 postavki 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 macOS: Qt Creator.app/Contents/Resources/templates/wizards
    Vaši prilagođeni čarobnjaci u direktoriju postavki lokalnog korisnika:
  • 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

Savjeti za razvoj čarobnjaka

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

Mapiranje akcija na tipkovničke prečace

Qt Creator sadrži neke radnje koje mogu poboljšati proces razvoja čarobnjaka. One nemaju prečace na tipkovnici prema zadanim postavkama, 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 pri razvoju čarobnjaka:

ID radnjeOpis
InspectPokretanje ove radnje otvara prozor koji prikazuje sve definirane polje 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 uzrokuje da Qt Creator zaboravi sve tvornice čarobnjaka, što dovodi do ponovnog učitavanja 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 izmjene 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. Detaljni način rada 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, poput neispravne putanje 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 Buildove

Ako ste programer Qt Creator a ili sami izradite vlastitu verziju Qt Creator a za isporuku drugima, možete integrirati čarobnjak u Qt Creator. Kako biste isporučili čarobnjak kao dio izgradnje Qt Creator a, 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 izvorne mape Qt Creator u mapu 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 make-a ili Ninja, o novim datotekama u izvornom stablu.

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 se pozivati 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, lista, rječnik ili logička vrijednost.

Na mjestima gdje se očekuje boolean vrijednost, a zadana je string vrijednost, prazan string, kao i string "false", tretira 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 proces 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++ klasu 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 akcije 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ća postavka određuje 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 novog cilja izgradnje postojećem projektu. Na primjer, prikazati samo čarobnjake koji stvaraju qmake projekte pri dodavanju novog cilja 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 naveli položaj čarobnjaka. Ovu vrijednost morate uvijek promijeniti. Na primjer, B.MyClass.

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

      • category je kategorija u koju se postavlja čarobnjak 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ći parametri određuju ikonu i tekst koji se prikazuju u dijalogu xml-ph-0000@deepl.internal:
    • Sljedeći parametri određuju ikonu i tekst koji se prikazuju 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\}.

        se pojavljuje u srednjem panelu kada je odabran xml-ph-0000@deepl.internal.
      • trDisplayName prikazuje se u srednjem panelu kada je odabran trDisplayCategory.

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

        prikazuje se u dijalogu xml-ph-0000@deepl.internal, pod xml-ph-0001@deepl.internal.
      • trDisplayCategory prikazuje se u dijalogu New File, pod Files and Classes.

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

        se pojavljuje pored xml-ph-0000@deepl.internal u središnjem panelu kada je odabran xml-ph-0001@deepl
      • icon prikazuje se pored trDisplayName u srednjem panelu kada je odabran 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\}.

        xml-ph-0000@deepl.internal.
      • featuresPreferred određuje build i run kitove za predizbor.

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

        Postavljeno je na xml-ph-0000@deepl.internal ako čarobnjak podržavaju sve ciljne platforme. Po zadan
      • platformIndependent se postavlja na true ako je čarobnjak podržan na svim ciljnim platformama. Po zadanome 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 xml-ph-0000@deepl.internal ima niz objekata s atributima ključ i vrijednost. Možete definir
    • Odjeljak options ima niz objekata s atributima ključ i vrijednost. Možete definirati vlastite varijable koje ćete koristiti u konfiguracijskim i izvornim datotekama predložaka, uz unaprijed 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 ml-ph-0000@deepl.internal ima niz objekata s atributima ključ i vrijednost. Osim unaprijed
    • Odjeljak pages određuje stranice čarobnjaka. Koriste se različite stranice ovisno o vrsti čarobnjaka. Možete dodati standardne stranice čarobnjacima ili stvoriti nove stranice koristeći dostupne widgete. Sljedeće postavke 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.

        ID cijele 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 skrivanje. 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 dotične stranice čarobnjaka.
      • data određuje stranice čarobnjaka. U C++ čarobnjaku određuje stranicu Fields i stranicu Summary. Stranica Fields ima widgete CheckBox, ComboBox, LineEdit, PathChooser i Spacer. Za više informacija o widgetima pogledajte Dostupni widgeti.
    • Odjeljak generators navodi datoteke koje se trebaju dodati 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.
    Dostupne vrijednosti čarobnjaku

Dostupne vrijednosti č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 (plug-inova) koji se pokreću u trenutnoj instanci Qt Creator-a.
  • Platform sadrži 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 sadrži popis kompleta 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 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 nizaka 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.
    s popisom u istom formatu kao xml-ph-0000@deepl.internal . Svaki komplet koji odgovara svim značajka
  • preferredFeatures s popisom u istom formatu kao requiredFeatures. Svaki komplet koji zadovoljava sve značajke navedene u preferredFeatures (osim 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 sakrila 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 evaluira 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žetka ima vrijednost typeId Summary . Ne sadrži nikakve podatke ili je objekt prazan.

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

Stranica postavlja IsSubproject na false ako je ovo projekt 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 će se koristiti.
  • 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 za kontrolu 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 se stvoriti za pohranu izvučenih 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 u .
    • timeOutFactor produžuje zadane vremenska ograničenja za dugotrajne naredbe.
    • enabled koji će se procijeniti kako bi se odlučilo hoće li se ovaj posao doista izvršiti ili ne.

Konfiguracija verzijskog sustava

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 puta
  • 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 vrstu 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 procjenjuje za sva polja kako bi se odlučilo je li gumb Next čarobnjaka dostupan ili ne. Sva polja moraju imati isComplete koji se procjenjuje na true da bi se to dogodilo. Ova postavka prema zadanim postavkama je true.
  • trIncompleteMessage prikazuje se kada se isComplete polja ocijeni kao false.
  • persistenceKey čini korisnikov odabir trajnim. Vrijednost se uzima kao ključ postavki. Ako korisnik promijeni zadanu vrijednost widgeta, korisnikova vrijednost se 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 je postavljeno na true ako je widget omogućen, inače je postavljeno na false. Po zadanome je postavljeno na true.
  • mandatory je postavljeno na true ako ovaj widget mora imati vrijednost da bi gumb Next postao omogućen. Po zadanome je postavljeno na true.
  • span je postavljeno da sakrije etiketu i obuhvati obrazac. Po zadanome je postavljeno 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 zadanome je postavljeno na false.
  • checked postavljeno je 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 zadanome 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 zadanome 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 netraducibilni zadani tekst za prikaz.
  • trDisabledText određuje prijevodivi tekst za prikaz u onemogućeno polje.
  • disabledText određuje tekst koji se ne prevodi i prikazuje se u onemogućeno polju.
  • completion navodi postojeće namespaces e za linijsku ediciju klase i postojeće classes e za linijsku ediciju osnovne klase. Ova vrijednost zamjenjuje dovršivač povijesti koji je obično dostupan za takva polja.
  • trPlaceholder određuje tekst mjesta za prijevod.
  • placeholder određuje netraducirajući tekst mjesta držača.
  • validator određuje QRegularExpression za provjeru unosa u linijskom uređivaču.
  • 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 logička vrijednost koja označava 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 su međusobno isključivi, stoga ih nemojte postavljati istovremeno.
  • restoreLastHistoryItem je boolean koji određuje da se posljednji element povijesti automatski postavlja kao zadani tekst u polje za unos. Ovaj ključ može biti postavljen na true samo ako je historyId također postavljen.

Odabir puta

{
    "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 obavljaju pretraživanja.
  • kind definira što tražiti: existingDirectory, directory, file, saveFile, existingCommand, command, ili any.

Razmaknica

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

Postavka factor određuje faktor (cijeli broj) kojim se množi razmak u rasporedu 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 prijevodiv tekst za prikaz kada je uređivanje 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 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žne 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 koju treba otvoriti kao projekt 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 je false.
  • openAsProject otvara datoteku projekta u Qt Creator ako je postavljeno na true. Ova postavka prema zadanim postavkama je false.
  • isBinary tretira datoteku kao binarnu i sprječava zamjene u datoteci ako je postavljeno na true. Ova postavka zadano je false.
  • condition generira datoteku ako uvjet vrati true. Ova postavka zadano je true. Za više informacija pogledajte Odjeljak Korištenje varijabli u čarobnjacima.

Generator skenera

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

Scanner generator uzima jedan objekt u svom odjeljku 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. Ovo postavljanje prema zadanim postavkama ima prazan obrazac, pa nijedna datoteka neće biti označena kao binarna.
  • subdirectoryPatterns je popis obrazaca s regularnim izrazima. Svaka mapa koja odgovara jednom od tih obrazaca 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.