Inhaltsverzeichnis

WvdS VSCode Packaging

Packaging ekstenzija stvara VSIX pakete i omogućuje objavljivanje na Visual Studio Marketplaceu.

Funkcija i svrha

Packaging ekstenzija nudi:

Naredbe

Naredba Opis
WVDS: Create VSIX Package Stvara VSIX paket
WVDS: Publish Package Objavljuje na VS Marketplace

Izrada VSIX paketa

Preduvjeti

Tijek rada

  1. Osigurajte da se projekt kompilira
  2. Ctrl+Shift+PWVDS: Create VSIX Package
  3. Odaberite ekstenziju (ako ih ima više)
  4. 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:

  1. Odaberite „Increment Version“ u dijaloškom okviru
  2. Odaberite dio koji se povećava (MAJOR, MINOR, PATCH)
  3. 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:

  1. WVDS: Create VSIX Package
  2. Odaberite „All Extensions“
  3. Svi paketi se stvaraju

Objava na Marketplace

Preduvjeti

  1. Azure DevOps Organisation - Za Publisher račun
  2. Personal Access Token (PAT) - S Marketplace pravima
  3. Publisher ID - Registriran na marketplace.visualstudio.com

Stvaranje Publishera

  1. Stvorite Publisher
  2. Zapišite Publisher-ID

Stvaranje PAT-a

  1. Posjetite dev.azure.com
  2. User Settings → Personal Access Tokens
  3. Stvorite token s „Marketplace (Publish)“ scopeom

Objavljivanje

  1. WVDS: Publish Package
  2. Unesite PAT (sigurno se pohranjuje)
  3. 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 (128×128 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:

  1. Extensions → „…“ → „Install from VSIX…“
  2. 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:

  1. Provjerite Publisher-ID u package.json
  2. Osigurajte da je publisher registriran

"Version already exists"

Uzrok: Ova verzija je već objavljena.

Rješenje:

  1. Povećajte broj verzije
  2. Koristite funkciju Increment

"PAT expired"

Uzrok: Personal Access Token je istekao.

Rješenje:

  1. Stvorite novi PAT
  2. 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