Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>WKT ViewerNew to Visual Studio Code? Get it now.
WKT Viewer

WKT Viewer

Halls Byrå

|
139 installs
| (0) | Free
A VS Code extension to visualize and navigate files containing WKT (Well Known Text) geometries.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

CI

WKT Viewer

Visualize and navigate files containing WKT (Well Known Text) geometries in Visual Studio Code.

Preview Image

Features

  • Instantly visualizes WKT geometries in the current text editor.
  • Highlights the current geometry as you navigate through text.
  • Selects the corresponding text when you click a geometry in the viewer.
  • Supports multiple geometry selections with Ctrl/Cmd-click and Shift-click in the list, synchronized with separate selections in the editor.
  • Locks the viewer to selected geometries with the padlock, including multiple text selections. Unlocking restores the preceding view.
  • Keeps locked selections independent of editor navigation while tracking edits to the source text.
  • Supports optional [awkt ...] metadata annotations for WKT embedded in logs.

Annotated WKT Metadata

WKT Viewer can attach lightweight metadata to geometries found in generic log files:

[awkt id=stroke-01234 tag=sweep-0007 label=01234] LINESTRING (0 0, 10 0)
[awkt id=base-fill tag=source label="existing base fill"] POLYGON ((0 0, 10 0, 10 10, 0 0))

The annotation applies to the first WKT geometry after the [awkt ...] block, up until the next annotation block. Unannotated WKT still renders normally.

Supported keys are id, tag, and label. Unknown key=value fields are preserved for details, but do not affect rendering. Values containing whitespace must be wrapped in single or double quotes, for example label="existing base fill".

Quick Start

  1. Install WKT Viewer from the VS Code Marketplace.
  2. Open a file containing WKT geometries.
  3. Run Start WKT Viewer from the command palette.

Use Ctrl/Cmd-click in the shape list to add or remove objects, or Shift-click to select a range of visible rows. Each selected object gets its own text selection in the editor. Multiple selections or cursors in the editor also highlight the corresponding objects in the viewer.

Editor selections highlight geometries without filtering the view. Click the padlock (Visa och lås till markerade) to show only the marked objects in both the list and the map. A cursor or partial text selection inside a WKT includes that complete geometry. Separate text selections include complete WKT within each selection; geometries in the gaps remain hidden. The padlock is disabled when no geometry is marked.

The filtered view stays locked while you change selections or navigate the document and follows text edits. Its status shows the number of visible geometries. Click the padlock again (Lås upp och visa föregående vy) to restore the preceding view, keeping the current editor selections. Locks are remembered per document until it is closed.

Extension Settings

  • wktViewer.maxGeometries: Maximum number of WKT geometries to parse and show from the active document. Defaults to 500.

Development

Requirements: Node.js 24 LTS (24.15.0 or newer) and npm.

npm ci
npm run build
npm test

Running the Extension

  • F5: Start TypeScript watch mode and the Vite dev server, open an isolated Extension Development Host, and attach the debugger once the host is ready. Later starts reload and show the development window while reusing the servers.
  • Ctrl+Shift+B -> Start Dev Env: Start TypeScript watch mode and the Vite dev server.

Debugging

  • Extension backend: set breakpoints and press F5.
  • Webview frontend: run Developer: Open Webview Developer Tools from the command palette.

The development host uses the current VS Code executable and a separate profile under .vscode-test/. It starts with an inspector on port 9333; the debugger attaches without injecting the F5 launch bootstrap, avoiding the startup crash reported in microsoft/vscode#336233. Stopping debugging detaches from the host; close the development window to stop it. Pressing F5 again reloads the development host to load the new compiled code. Startup errors are logged to .vscode-test/dev-host-launch.log.

Contributing

We use Release Please, so commit messages should follow Conventional Commits. Release Please reads commits on main, so squash commit titles must follow this format too.

Use these types:

  • feat: user-visible features. Shown in the changelog and bumps the minor version.
  • fix: user-visible bug fixes. Shown in the changelog and bumps the patch version.
  • perf: user-visible performance improvements. Shown in the changelog and bumps the patch version.
  • deps: dependency updates worth mentioning. Shown in the changelog.
  • docs:, test:, refactor:, build:, chore: internal changes. Hidden from the changelog.

Use build: for build, CI, packaging, and workflow changes. Do not use ci: in this repository.

For breaking changes, use ! after the type or scope, or add a BREAKING CHANGE: footer.

Before publishing, verify a VSIX:

npm run package

Release and Publishing

Squash merge the PR generated by release-please. It updates CHANGELOG.md, updates package.json, and creates a GitHub release.

Publishing to the VS Code Marketplace is automated from .github/workflows/release-please.yml. When release-please creates a release, it calls .github/workflows/publish-marketplace.yml.

Required repository secret:

  • VSCE_PAT: Personal Access Token for the halls-byra publisher in the VS Code Marketplace.

Release flow:

  1. Merge the release-please PR.
  2. release-please creates a GitHub release.
  3. Publish Marketplace checks out the release tag, runs build, tests, and package, then publishes the generated VSIX with VSCE_PAT.

To retry a failed publish, run Publish Marketplace manually from GitHub Actions and enter the release tag as ref.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft