The Packaging extension creates VSIX packages and enables publishing to the Visual Studio Marketplace.
The Packaging extension provides:
| Command | Description |
|---|---|
WVDS: Create VSIX Package | Creates a VSIX package |
WVDS: Publish Package | Publishes to the VS Marketplace |
vsce tool available: npm install -g @vscode/vsce
Ctrl+Shift+P → WVDS: Create VSIX Packagebinaries/dist/binaries/dist/ wvds-vscode-core-0.1.0.vsix wvds-vscode-build-0.1.0.vsix ...
The suite uses Semantic Versioning (SemVer):
MAJOR.MINOR.PATCH 1.0.0
| Part | Increment When |
|---|---|
| MAJOR | Breaking changes, incompatible API changes |
| MINOR | New features, backward compatible |
| PATCH | Bug fixes, no feature changes |
When packaging, the version can be automatically incremented:
For beta releases:
1.0.0-beta.1 1.0.0-rc.1
The suite consists of multiple extensions that can be packaged together.
An extension pack bundles multiple extensions:
{
"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"
]
}
Package all extensions at once:
WVDS: Create VSIX PackageWVDS: Publish PackageBefore publishing, the following are automatically checked:
| Check | Description |
|---|---|
| Version | Must be higher than published version |
| README | Must exist and not be empty |
| CHANGELOG | Must contain changes for current version |
| License | Must be specified |
| Icon | Recommended (128×128 PNG) |
| Repository | Recommended (link to source code) |
For Marketplace publishing:
{
"name": "wvds-vscode-core",
"displayName": "WvdS VSCode Core",
"description": "Central infrastructure for 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"]
}
For testing before publishing:
code --install-extension binaries/dist/wvds-vscode-core-0.1.0.vsix
Or in VS Code:
Cause: vsce not installed.
Solution:
npm install -g @vscode/vsce
Cause: Publisher ID in package.json does not match registered publisher.
Solution:
Cause: This version was already published.
Solution:
Cause: Personal Access Token expired.
Solution:
| Property | Value |
|---|---|
| Extension ID | wvds.wvds-vscode-packaging |
| Activation | onCommand:wvds.packaging.create |
| Dependencies | wvds-vscode-core, wvds-vscode-build |
| Min. VS Code | 1.85.0 |