VOOZH about

URL: https://marketplace.visualstudio.com/items?itemName=aleksUIX.vastlint

⇱ VASTlint — VAST XML Validator - Visual Studio Marketplace


Skip to content
👁 Image
Sign in
Visual Studio Code>Linters>VASTlint — VAST XML ValidatorNew to Visual Studio Code? Get it now.
👁 VASTlint — VAST XML Validator

VASTlint — VAST XML Validator

Inline linting for IAB VAST 2.0–4.3 ad tags with clean Problems entries, concise hovers, fix guidance, and docs links. Works in XML, HTML, JS templates, and more. 129 rules including OMID validation. CLI backend with WASM fallback.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

VASTlint - VAST XML Validator for VS Code

Inline linting for IAB VAST ad tags directly in VS Code. Supports VAST 2.0 through 4.3 with clean Problems entries, concise hovers, fix guidance, and direct docs links. Web validator and full documentation: vastlint.org

Features

  • Inline squiggles — red (error), yellow (warning), blue (info) underlines on the offending XML tag
  • Hover tooltips — concise issue summary, fix guidance, and a direct rule docs link
  • Problems panel — clean issue titles with file, line, and column; click to jump directly to the tag
  • Any file type — works in .xml, .html, .js, .ts, .json, templates — anywhere <VAST> appears
  • Multi-block — validates every <VAST>...</VAST> block in a file independently
  • Live as you type — re-validates 500 ms after you stop typing, and on every save
  • CLI backend — uses the vastlint CLI binary when available, falls back to WASM in-process
  • 129 rules across VAST 2.0–4.3 plus SIMID and OMID validation: required fields, schema structure, URLs, verification semantics, deprecations, and CTV/SSAI advisories

How it looks

Hover over a squiggled tag:

🔴 <InLine> is missing required <AdSystem>

✅ Fix: Add `<AdSystem>` inside `<InLine>`, e.g. `<AdSystem>My Ad Server</AdSystem>`.

Docs: vastlint.org/docs/rules/VAST-2.0-inline-adsystem

Settings

Setting Default Description
vastlint.enable true Enable/disable diagnostics
vastlint.minSeverity "info" Minimum severity to show: "error", "warning", or "info"
vastlint.ruleOverrides {} Per-rule severity overrides (WASM fallback only — use vastlint.toml in CLI mode)
vastlint.templateIgnoreRegex "" Regex for template expressions to blank out before validation (e.g. \$\{[^}]+\})
vastlint.vastVersion "" Force a VAST version ("2.0", "3.0", "4.0", "4.1", "4.2", "4.3") — blank = auto-detect
vastlint.cliPath "vastlint" Path to the vastlint CLI binary. Falls back to common install locations, then WASM.

Example: silence HTTP warnings

// .vscode/settings.json
{
 "vastlint.ruleOverrides": {
 "VAST-2.0-mediafile-https": "off",
 "VAST-2.0-tracking-https": "off"
 }
}

Example: only show errors

{
 "vastlint.minSeverity": "error"
}

Rules

VASTlint checks 179 rules across:

  • Required elements and attributes (VAST 2.0–4.3)
  • Value formats (durations, URLs, enums)
  • Schema conformance (unknown elements/attributes)
  • Deprecation warnings (VPAID, Flash, Survey, conditionalAd)
  • SIMID interactive creative validation (<InteractiveCreativeFile apiFramework="SIMID">)
  • OMID AdVerification validation (<AdVerifications><Verification>, verificationNotExecuted, extension compatibility blocks)
  • Security (HTTP vs HTTPS)
  • CTV/SSAI best practices (Mezzanine, AdServingId)
  • Structural issues (wrapper depth, ad sequence, duplicate impressions)
  • VMAP 1.0 ad break playlists (<AdBreak> structure, timeOffset/breakType formats, inline <vmap:VASTAdData> VAST validation)
  • DAAST 1.0 digital audio ads (<Category>, <DAASTAdTagURI>, <AdInteractions>, audio MediaFile attributes)

Full rule reference with examples and fix guidance: vastlint.org/docs/rules

Canonical rule catalog:

Requirements

No external tools needed - the validator runs entirely in-process via WebAssembly.

License

Apache-2.0 - see LICENSE