Skip to content
Peter McDonald edited this page Jul 17, 2026 · 16 revisions

Dataverse PowerTools

Dataverse PowerTools is a Visual Studio Code extension that streamlines Dataverse / Dynamics 365 / Power Platform development. It scaffolds projects, manages your Dataverse connection, and runs the whole build/deploy loop — solutions, web resources, plugins, and portals — without leaving the editor.

Everything runs on the cross-platform Power Platform CLI (pac) and the .NET SDK, so it works on Windows, macOS, and Linux.

What it does

Project type Highlights
Solutions Export, unpack, pack and import Dataverse solutions with pac, ready for source control and CI/CD.
Web Resources Write TypeScript, bundle with webpack, deploy straight to Dataverse, generate strongly-typed Xrm typings, and unit test with Jest + xrm-mock.
Plugins Create plugin/workflow classes, register steps with CodeLens decorations, generate early-bound types, build with dotnet, deploy as a plugin package, and unit test with DataverseUnitTest.
Portals / Power Pages Download and edit Power Pages site content with pac pages.

Getting started

  1. Install the prerequisites (.NET SDK, Node.js, Power Platform CLI) — the Actions panel shows a live ✓/✗ check of all three.
  2. Open an empty folder in VS Code and click Initialise Project in the Actions panel (or run Dataverse PowerTools: Initialise Project from the Command Palette).
  3. Pick a project type, then sign in interactively or with a service principal and choose your environment and solution.

New to the extension? The built-in Getting Started walkthrough (Help → Get Started, or Open Walkthrough in the panel) guides you through all of this with self-completing steps.

See Getting Started for the full guide, and Connecting & Authentication for the sign-in options.

Multi-component repos

One repo can hold several components in subfolders — a plugin project AND a web-resources project AND a solution, each a folder with its own dataverse-powertools.json. Subfolder components inherit the workspace connection (their settings file carries no credentials), the panel shows one card per component, and Explorer right-click commands target the component that owns the clicked file. Use + Add Component in the panel to add one — a repo becomes multi-component the first time you do.

The Actions panel

Everything lives in the Dataverse PowerTools activity-bar panel (all commands are also in the Command Palette). The panel shows your project as cards, with live state:

  • Environment card — the connected org, auth type, a connection indicator, and an optional DEV/TEST/PROD badge (set environmentLabel in dataverse-powertools.json). Switch environment or update authentication from here.
  • Project card — one primary action (e.g. Deploy to <org>), a short row of everyday actions, and the rest behind (including Restore dependencies). A status line shows the last operation (running / succeeded / failed).
  • Form Registrations (web resources) — every RegisterEvent decoration found in your source; click a row to jump to the file. Registrations are applied automatically on every deploy.
  • Recent — the last few builds/deploys/typings runs with their outcome, so failures don't hide in the output channel.
Plugins Web Resources Solutions Empty workspace
Plugin menu Web resource menu Solution menu Empty project — add components

Guides

Clone this wiki locally