====== WvdS VSCode Packaging ====== Packaging ekstenzija stvara VSIX pakete i omogućuje objavljivanje na Visual Studio Marketplaceu. ===== Funkcija i svrha ===== Packaging ekstenzija nudi: * **Izrada VSIX-a** - Paketi za VS Code ekstenzije * **Upravljanje verzijama** - Automatsko upravljanje brojevima verzija * **Multi-Extension podrška** - Pakiranje više ekstenzija odjednom * **Objava na Marketplace** - Direktno objavljivanje ===== Naredbe ===== ^ Naredba ^ Opis ^ | ''WVDS: Create VSIX Package'' | Stvara VSIX paket | | ''WVDS: Publish Package'' | Objavljuje na VS Marketplace | ===== Izrada VSIX paketa ===== ==== Preduvjeti ==== * Node.js instaliran * ''vsce'' alat dostupan: npm install -g @vscode/vsce ==== Tijek rada ==== - Osigurajte da se projekt kompilira - ''Ctrl+Shift+P'' -> ''WVDS: Create VSIX Package'' - Odaberite ekstenziju (ako ih ima više) - Paket se stvara u ''binaries/dist/'' ==== Izlaz ==== binaries/dist/ wvds-vscode-core-0.1.0.vsix wvds-vscode-build-0.1.0.vsix ... ===== Upravljanje verzijama ===== ==== Semantičko verzioniranje ==== Paket koristi Semantic Versioning (SemVer): MAJOR.MINOR.PATCH 1.0.0 ^ Dio ^ Povećava se kod ^ | MAJOR | Breaking Changes, nekompatibilne API promjene | | MINOR | Nove značajke, unatrag kompatibilne | | PATCH | Ispravke grešaka, bez promjena značajki | ==== Automatsko povećanje ==== Prilikom pakiranja verzija se može automatski povećati: - Odaberite "Increment Version" u dijaloškom okviru - Odaberite dio koji se povećava (MAJOR, MINOR, PATCH) - package.json se ažurira ==== Pre-release verzije ==== Za beta izdanja: 1.0.0-beta.1 1.0.0-rc.1 ===== Multi-Extension pakiranje ===== Paket se sastoji od više ekstenzija koje se mogu pakirati zajedno. ==== Extension Pack ==== Extension Pack objedinjuje više ekstenzija: { "name": "wvds-fpc-rad-suite", "displayName": "WvdS FPC RAD Suite", "extensionPack": [ "wvds.wvds-vscode-core", "wvds.wvds-vscode-build", "wvds.wvds-vscode-projects", "wvds.wvds-vscode-ui-designer", "wvds.wvds-vscode-ui-meta", "wvds.wvds-vscode-ui-preview", "wvds.wvds-vscode-packaging" ] } ==== Batch pakiranje ==== Pakiranje svih ekstenzija odjednom: - ''WVDS: Create VSIX Package'' - Odaberite "All Extensions" - Svi paketi se stvaraju ===== Objava na Marketplace ===== ==== Preduvjeti ==== - **Azure DevOps Organisation** - Za Publisher račun - **Personal Access Token (PAT)** - S Marketplace pravima - **Publisher ID** - Registriran na marketplace.visualstudio.com ==== Stvaranje Publishera ==== - Posjetite [[https://marketplace.visualstudio.com/manage|marketplace.visualstudio.com/manage]] - Stvorite Publisher - Zapišite Publisher-ID ==== Stvaranje PAT-a ==== - Posjetite [[https://dev.azure.com|dev.azure.com]] - User Settings -> Personal Access Tokens - Stvorite token s "Marketplace (Publish)" scopeom ==== Objavljivanje ==== - ''WVDS: Publish Package'' - Unesite PAT (sigurno se pohranjuje) - Ekstenzija se učitava Ne objavljujte ekstenzije s osjetljivim podacima! ===== Pre-Publish provjere ===== Prije objavljivanja automatski se provjerava: ^ Provjera ^ Opis ^ | Version | Mora biti veća od objavljene verzije | | README | Mora postojati i ne smije biti prazan | | CHANGELOG | Mora sadržavati promjene za trenutnu verziju | | License | Mora biti navedena | | Icon | Preporučeno (128x128 PNG) | | Repository | Preporučeno (link na izvorni kod) | ===== package.json zahtjevi ===== Za objavu na Marketplace: { "name": "wvds-vscode-core", "displayName": "WvdS VSCode Core", "description": "Središnja infrastruktura za WvdS FPC RAD Studio", "version": "0.1.0", "publisher": "wvds", "license": "MIT", "icon": "images/icon.png", "repository": { "type": "git", "url": "https://github.com/ArmandoFilho/WvdS.FPC" }, "engines": { "vscode": "^1.85.0" }, "categories": ["Other"], "keywords": ["pascal", "fpc", "free pascal"] } ===== Lokalna instalacija ===== Za testiranje prije objavljivanja: code --install-extension binaries/dist/wvds-vscode-core-0.1.0.vsix Ili u VS Code: - Extensions -> "..." -> "Install from VSIX..." - Odaberite VSIX datoteku ===== Rješavanje problema ===== ==== "vsce not found" ==== **Uzrok:** vsce nije instaliran. **Rješenje:** npm install -g @vscode/vsce ==== "Invalid publisher" ==== **Uzrok:** Publisher-ID u package.json ne odgovara registriranom publisheru. **Rješenje:** - Provjerite Publisher-ID u package.json - Osigurajte da je publisher registriran ==== "Version already exists" ==== **Uzrok:** Ova verzija je već objavljena. **Rješenje:** - Povećajte broj verzije - Koristite funkciju Increment ==== "PAT expired" ==== **Uzrok:** Personal Access Token je istekao. **Rješenje:** - Stvorite novi PAT - Unesite ga pri sljedećem objavljivanju ===== Tehnički detalji ===== ^ Svojstvo ^ Vrijednost ^ | Extension ID | wvds.wvds-vscode-packaging | | Aktivacija | onCommand:wvds.packaging.create | | Ovisnosti | wvds-vscode-core, wvds-vscode-build | | Min. VS Code | 1.85.0 | ===== Vidi također ===== * [[.:build|Build Extension - Kompilacija]] * [[.:core|Core Extension - Toolchain]] * [[https://code.visualstudio.com/api/working-with-extensions/publishing-extension|VS Code Publishing Docs]]