====== WvdS VSCode Projects ====== Projects ekstenzija upravlja Pascal projektima u VS Code. Nudi predloške projekata, dijaloške okvire za konfiguraciju i upravljanje rješenjima. ===== Funkcija i svrha ===== Projects ekstenzija omogućuje: * **Predlošci projekata** - Brza izrada novih projekata * **Upravljanje projektima** - Otvaranje, konfiguracija, upravljanje * **Multi-projekt rješenja** - Više projekata u jednom workspaceu * **Postavke projekta** - GUI za opcije prevoditelja ===== Naredbe ===== ^ Naredba ^ Opis ^ | ''WvdS Projects: New Project (Quick)'' | Stvara projekt sa zadanim postavkama | | ''WvdS Projects: New Project from Template...'' | Prikazuje dijaloški okvir za odabir predloška | | ''WvdS Projects: Open Project'' | Otvara postojeći projekt | | ''WvdS Projects: Project Settings...'' | Otvara dijaloški okvir postavki projekta | ===== Predlošci projekata ===== Ekstenzija sadrži unaprijed definirane predloške za različite vrste projekata: ==== Desktop Console ==== Jednostavna konzolna aplikacija za alate naredbenog retka i servise. **Generirane datoteke:** MyProject/ MyProject.lpr -- Glavni program **Primjer koda:** program MyProject; {$mode objfpc}{$H+} uses SysUtils; begin WriteLn('Hello, World!'); end. **Primjene:** * CLI alati i pomoćni programi * Batch obrada * Serverski servisi * Build skripte ==== Desktop GUI ==== Nativna desktop aplikacija s LCL-om (Lazarus Component Library). **Generirane datoteke:** MyProject/ MyProject.lpr -- Glavni program MainForm.pas -- Unit glavne forme MainForm.lfm -- Dizajn forme **Preduvjeti:** * Lazarus instaliran (za LCL) * lazbuild dostupan **Primjene:** * Desktop aplikacije * Sučelja za baze podataka * Pomoćni programi s GUI-jem ==== Desktop Library ==== Dijeljena biblioteka (DLL/SO) za plugin sustave ili vanjsku integraciju. **Generirane datoteke:** MyProject/ MyProject.lpr -- Library projekt **Primjer koda:** library MyProject; {$mode objfpc}{$H+} uses SysUtils; procedure HelloWorld; cdecl; begin WriteLn('Hello from library!'); end; exports HelloWorld; begin end. **Primjene:** * Plugini za druge aplikacije * Dijeljeni kod između projekata * Integracija s drugim jezicima (C, Python, itd.) ==== TUI App ==== Terminal User Interface - tekstualno korisničko sučelje. **Generirane datoteke:** MyProject/ MyProject.lpr -- Glavni program TuiMain.pas -- TUI glavni unit **Primjene:** * Administracija poslužitelja * SSH-kompatibilni alati * Aplikacije s malim resursnim zahtjevima * Cross-platform bez GUI ovisnosti ==== Web PWA ==== Progressive Web App s pas2js - radi u pregledniku. **Generirane datoteke:** MyProject/ MyProject.lpr -- Glavni program (postaje JS) index.html.tmpl -- HTML predložak manifest.json.tmpl-- PWA manifest sw.js -- Service Worker **Preduvjeti:** * pas2js instaliran **Primjene:** * Web aplikacije * Cross-platform aplikacije * Aplikacije s offline podrškom ==== VSCode Extension ==== VS Code ekstenzija u Pascalu, transpilirana s pas2js. **Generirane datoteke:** MyExtension/ extension_main.pas -- Entry Point package.json.tmpl -- Extension manifest **Preduvjeti:** * pas2js instaliran * Node.js za vsce (pakiranje) **Primjene:** * Vlastite VS Code ekstenzije * IDE alati i automatizacija * Integracija s WvdS paketom ==== Installer (Inno Setup) ==== Windows instaler za desktop aplikacije. **Generirane datoteke:** MyInstaller/ MyInstaller.iss -- Inno Setup skripta **Preduvjeti:** * Inno Setup instaliran **Primjene:** * Windows instalacijski paketi * Automatska ažuriranja * Poslovni deployment ===== Postavke projekta ===== Dijaloški okvir ''WvdS Projects: Project Settings...'' nudi grafičko sučelje za: ==== Opće postavke ==== * **Naziv projekta** - Naziv projekta * **Izlazni direktorij** - Kamo se zapisuju kompilirane datoteke * **Putanje unitova** - Dodatne putanje za traženje unitova ==== Opcije prevoditelja ==== * **Target Platform** - windows-x86, windows-x64, linux-x64, ... * **Optimizacije** - Razina 0-3 * **Debug simboli** - Aktiviraj za debugging * **Assertions** - Provjere tijekom izvođenja ==== Ovisnosti ==== * **Uses klauzule** - Automatski upravljani unitovi * **Library putanje** - Putanje do vanjskih biblioteka ===== Multi-projekt workspaceovi ===== VS Code workspaceovi mogu sadržavati više projekata: MyWorkspace.code-workspace MyApp/ -- Desktop aplikacija MyLib/ -- Dijeljena biblioteka MyTests/ -- Unit testovi ==== Izrada workspacea ==== - ''File'' -> ''Add Folder to Workspace...'' - Dodajte sve mape projekata - ''File'' -> ''Save Workspace As...'' ==== Odabir projekta ==== Kod više projekata: - Otvorite datoteku željenog projekta - Ili: Odaberite projekt u Project Exploreru ===== Kontekstni izbornik ===== Desni klik na .lpi/.lpr datoteke u Exploreru prikazuje: * ''WvdS Projects: Project Settings...'' ===== Rješavanje problema ===== ==== Dijaloški okvir predloška se ne otvara ==== **Uzrok:** Ekstenzija nije aktivirana ili je došlo do greške. **Rješenje:** - Provjerite je li ekstenzija instalirana - Provjerite Developer Console za greške - Ponovno pokrenite VS Code ==== Projekt se ne prepoznaje ==== **Uzrok:** Nema .lpr, .dpr ili .pas datoteke u mapi. **Rješenje:** - Osigurajte da glavna datoteka postoji - Otvorite mapu s ''File'' -> ''Open Folder...'' ==== Postavke projekta se ne spremaju ==== **Uzrok:** Nema prava pisanja ili neispravna konfiguracija. **Rješenje:** - Provjerite prava pisanja u mapi projekta - Provjerite settings.json za sintaksne greške ===== Tehnički detalji ===== ^ Svojstvo ^ Vrijednost ^ | Extension ID | wvds.wvds-vscode-projects | | Aktivacija | workspaceContains:/*.lpr, onLanguage:pascal | | Ovisnosti | wvds-vscode-core | | Min. VS Code | 1.85.0 | ===== Vidi također ===== * [[.:core|Core Extension - Konfiguracija toolchaina]] * [[.:build|Build Extension - Kompilacija]] * [[.:designer|UI Designer - PXAML razvoj]]