====== 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]]