The UI Meta extension manages the component registry and provides IntelliSense support for PXAML files.
The Meta extension provides:
Start with < and press Ctrl+Space:
The list shows all available controls with:
Inside an element, Ctrl+Space shows available attributes:
<Button | > <!-- Cursor here, press Ctrl+Space -->
Displayed are:
For attributes with defined values:
<TextBox TextAlignment="|"/> <!-- Cursor here -->
Suggestions: Left, Center, Right, Justify
| Command | Description |
|---|---|
WVDS: Refresh Component Registry | Reloads the component metadata |
The registry organizes components by category:
| Category | Included Controls |
|---|---|
| Layout | Grid, StackPanel, DockPanel, WrapPanel, Canvas |
| Input | TextBox, PasswordBox, ComboBox, CheckBox, RadioButton |
| Display | Label, TextBlock, Image, Border, Separator |
| Action | Button, ToggleButton, RepeatButton, MenuButton |
| Lists | ListBox, ListView, TreeView, DataGrid |
| Navigation | TabControl, TabItem, Menu, Toolbar |
| Containers | GroupBox, Expander, ScrollViewer, Popup |
The registry knows various property types:
| Type | Example | IntelliSense Behavior |
|---|---|---|
| String | Text=„Hello“ | Free input |
| Number | Width=„200“ | Numeric input |
| Boolean | IsEnabled=„True“ | True/False selection |
| Enum | Visibility=„Visible“ | Show enum values |
| Brush | Background=„Red“ | Color picker or brush names |
| Thickness | Margin=„10,5,10,5“ | Four values (L,T,R,B) |
Custom components can be added to the registry.
In the Pascal component:
type {$M+} [ComponentInfo('MyButton', 'Custom button with icon', 'Controls')] TMyButton = class(TWvdSButton) published [PropertyInfo('Icon path', 'Images')] property IconPath: string read FIconPath write SetIconPath; end;
Alternatively via metadata file:
{
"components": [
{
"name": "MyButton",
"description": "Custom button with icon",
"category": "Controls",
"properties": [
{
"name": "IconPath",
"type": "string",
"description": "Path to the icon image"
}
]
}
]
}
The Meta extension has no direct settings. It uses the configuration of the Core extension.
Component metadata is cached for faster access.
When components change:
WVDS: Refresh Component Registry%APPDATA%\Code\User\globalStorage\wvds.wvds-vscode-ui-meta~/.config/Code/User/globalStorage/wvds.wvds-vscode-ui-meta~/Library/Application Support/Code/User/globalStorage/wvds.wvds-vscode-ui-metaCause: Registry not loaded or file not recognized.
Solution:
WVDS: Refresh Component RegistryCause: Component not registered or cache outdated.
Solution:
Cause: Metadata outdated or incorrect.
Solution:
| Property | Value |
|---|---|
| Extension ID | wvds.wvds-vscode-ui-meta |
| Activation | onLanguage:pxaml, onLanguage:pascal |
| Dependencies | wvds-vscode-core |
| Min. VS Code | 1.85.0 |