Power Viz — Power BI Projects for VS Code
See, review and edit Power BI reports as code. Power Viz renders Power BI Project (PBIP) reports
right inside VS Code — offline, with Power BI-style formatting and the real data from your .pbix —
shows visual diffs between versions, validates PBIR and TMDL files as you type, converts .pbix
files into editable PBIP projects, and lets AI assistants edit dashboards safely.
Works on macOS, Windows and Linux. Power BI Desktop is not required.
Preview release. Power Viz is under active development. Feedback and bug reports are welcome
through the Q & A tab of this page.
Features
Report preview
- Open a
.pbip file, a report folder (definition.pbir), a .pbix or a .pbit and see its pages
rendered with charts, cards, tables and matrices, slicers, shapes, images and the report theme.
- Real data, offline. Values are decoded from the
.pbix and calculated by a built-in DAX engine,
so no connection to Power BI is needed.
- Updates as you edit. The preview re-renders when files change on disk — including edits made by
AI assistants or version-control checkouts — and also shows unsaved changes in open editors.
- Click a visual to see its fields and any warnings; double-click to open its
visual.json. With
Follow active editor on, opening a visual.json selects that visual in the preview.
- Zoom, fit to page or width, show hidden visuals, and export a page as a PNG image.
.pbix and .pbit files open straight into a read-only preview with a Convert to PBIP action.
Visual diff
- Compare your working copy with the last commit, the staged version, a branch, a tag or any earlier
commit.
- Every changed page is shown before, after and as an overlay: added, changed and moved
visuals are highlighted and removed ones are drawn as dashed outlines.
- Lists changes to pages, visuals, report settings and the semantic model, including measure DAX
before and after.
- Copy Markdown for review descriptions and Export images to share.
- Available from the Changes view, the Source Control view, the Timeline and the diff editor.
Semantic model diagram
- Tables laid out as in Power BI Desktop, or arranged automatically, with relationships, cardinality
and filter direction.
- Columns, measures (with their DAX) and hierarchies, plus where each field is used in the report.
- Jump to any object in its
.tmdl file.
Projects and Changes views
The Power BI icon in the Activity Bar lists every project in the workspace — report pages and
visuals, model tables, columns, measures and hierarchies — and the report changes not yet committed,
grouped by page.
Validation
A language server checks PBIR and PBIP JSON and TMDL against the Microsoft Fabric JSON schemas and
Power BI rules (page order, visual types and roles, fields missing from the model, positions and
more), with hovers, completion and quick fixes. Power Viz: Validate Project checks the whole
project and lists the results in the Problems view.
Convert .pbix to PBIP
Power Viz: Convert .pbix to PBIP Project… (Explorer context menu or the preview toolbar) writes a
PBIP project — a PBIR report plus a TMDL semantic model — next to the file or into a folder you
choose. Reports saved in Power BI's older layout can optionally be upgraded to PBIR (experimental).
The original .pbix is remembered so previews keep showing its data.
AI editing
Power Viz gives AI assistants safe tools to read reports, render pages, make validated edits, check
their work and run DAX queries:
- a built-in chat panel backed by Claude or GitHub Copilot ("Ask AI" on any page, visual or
model object);
- GitHub Copilot through language model tools and the
@powerviz chat participant
(/edit, /review, /explain);
- Claude Code, Copilot agent mode and Cursor through the bundled MCP server.
Every AI edit is a normal file change you can review in the visual diff before you keep it.
Power BI service
Sign in with your Microsoft account to query published models, render reports live in the Power BI
service, deploy projects to a workspace, pull definitions back, and work with Fabric Git integration.
Getting started
- Open a folder that contains a Power BI project: a
.pbip file, a *.Report folder or a .pbix
file. In Power BI Desktop you can create one with File → Save as → Power BI project, or
convert a .pbix with Power Viz.
- Click the Power BI icon in the Activity Bar, or run Power Viz: Open Report Preview from the
Command Palette.
- To review changes, open the Changes view or run Power Viz: Visual Diff with HEAD.
Data modes
| Mode |
Data |
Requirements |
| Local data (default) |
Real data decoded from the .pbix and calculated on your machine |
A .pbix with data; otherwise sample data is used |
| Sample data |
Generated values, using real category names when available |
None |
| Power BI service |
Queries against a published semantic model |
Sign in, then Select Service Dataset… |
| Live |
The report rendered by the Power BI service itself |
A PBIP project, a Power BI Pro sign-in and a published model — Set Up Live Mode… guides you |
Choose the mode for each project from the preview toolbar, the status bar or
Power Viz: Select Data Mode…. The default comes from the powerViz.dataMode setting.
Commands
| Command |
Description |
| Power Viz: Open Report Preview (to the Side) |
Preview the project of the active file |
| Power Viz: Open Visual Diff… |
Compare two versions |
| Power Viz: Visual Diff with HEAD |
Compare your working copy with the last commit |
| Power Viz: Open Semantic Model Diagram |
Tables, relationships, measures and field usage |
| Power Viz: Convert .pbix to PBIP Project… |
Create an editable PBIP project from a .pbix or .pbit |
| Power Viz: Validate Project |
Check the whole project and list problems |
| Power Viz: Export Page as PNG… |
Save the current page as an image |
| Power Viz: Select Data Mode… |
Local, sample, service or live data for the project |
| Power Viz: Toggle Side Panel |
Show or hide the inspector, change list or details panel |
| Power Viz: Refresh |
Find projects again and reload previews |
| Power Viz: Show Log |
Open the Power Viz output channel |
| Power Viz: Open AI Chat / Ask AI |
Chat about the project, page, visual or model object |
| Power Viz: Set Anthropic API Key… |
Store the key used by the chat panel's Claude provider |
| Power Viz: Configure Claude Code for This Workspace… |
Set up Claude Code to use the Power Viz tools |
| Power Viz: Sign in to / Sign out of Power BI / Fabric |
Microsoft account for the service features |
| Power Viz: Deploy to Power BI / Fabric… |
Preview the plan, confirm, then deploy the model and report |
| Power Viz: Pull from Power BI / Fabric… |
Bring a report or model definition from the service into the project |
| Power Viz: Show Fabric Git Status… / Update Fabric Workspace from Git… |
Fabric Git integration for a workspace |
| Power Viz: Select Service Dataset… |
Published model used by the service and live modes |
| Power Viz: Set Up Live Mode… / Publish Sandbox… / Re-publish Sandbox |
Connect a model, or upload the project's .pbix (after confirmation) for Live mode |
| Power Viz: Diagnose Live Mode |
Step-by-step checks with fixes for any problem found |
Settings
| Setting |
Default |
Description |
powerViz.dataMode |
local |
Default data mode for previews |
powerViz.preview.followActiveEditor |
true |
Select the visual or page of the active visual.json / page.json |
powerViz.preview.showHidden |
false |
Show hidden visuals (dimmed) by default |
powerViz.render.concurrency |
0 |
Data queries run at once per page (0 = automatic) |
powerViz.validation.enable |
true |
Validate PBIR and TMDL while editing |
powerViz.validation.schemaFallbackSeverity |
info |
Severity of "file uses a newer schema than bundled" notes |
powerViz.validation.projectOnType |
true |
Re-check the whole project shortly after you stop typing |
powerViz.log.level |
info |
Detail level of the output channel |
powerViz.live.embedTimeoutSeconds |
60 |
How long to wait for a Live mode report before reporting a timeout |
powerViz.ai.provider |
copilot |
Chat panel provider: copilot or claude |
powerViz.ai.claudeModel |
claude-opus-5 |
Claude model used by the chat panel |
powerViz.ai.maxToolIterations |
24 |
Maximum tool steps per chat request |
powerViz.mcp.enable |
true |
Offer the Power Viz MCP server to agent hosts (Copilot agent mode, Cursor) |
powerViz.fabric.clientId |
"" |
Your own Microsoft Entra app (client) ID for sign-in; leave empty to use VS Code's sign-in |
powerViz.fabric.tenantId |
"" |
Microsoft Entra tenant; leave empty for your home tenant |
powerViz.fabric.defaultWorkspaceId |
"" |
Workspace offered first for deploy, pull and dataset selection |
AI setup
- Built-in chat: choose Claude or Copilot in the panel. Claude needs an Anthropic API key, set
with Power Viz: Set Anthropic API Key…; it is stored in VS Code's secret storage, never in
settings files.
- GitHub Copilot: the Power Viz tools are available in Copilot agent mode, and the
@powerviz
participant works in Copilot Chat.
- Claude Code: run Power Viz: Configure Claude Code for This Workspace…. It adds the Power Viz
MCP server and a report-editing skill to the workspace. Run it again after updating the extension.
- Other agent hosts (Copilot agent mode, Cursor): the MCP server is offered automatically for
folders that contain Power BI projects while
powerViz.mcp.enable is on.
Privacy
Power Viz works on your machine. Reports are rendered, validated, converted and compared locally,
and report data never leaves your computer. There is no telemetry.
Network requests happen only when you use a cloud feature yourself:
- signing in to Power BI / Fabric for service data, Live mode, deploy or pull;
- chatting with Claude or Copilot — the content you send goes to that provider;
- Publish Sandbox, the only feature that uploads report data: it sends the whole
.pbix to the
Power BI workspace you choose, after asking you to confirm.
Requirements and limitations
- VS Code 1.106 or later. Git must be installed for visual diffs.
- The offline preview closely follows Power BI's formatting but is not a pixel-exact copy. Use
Live mode to see a report exactly as the Power BI service renders it.
- Maps (Azure Maps, shape maps), AI visuals and custom visuals appear as labelled placeholders in the
offline preview.
- Values from the built-in DAX engine may differ from Power BI for DAX functions it does not support;
those visuals are marked as approximate.
- Visual diffs, the Changes view, deploy and pull are turned off in Restricted Mode (untrusted
workspaces).
.pbix and .pbit files are read-only; convert them to PBIP to edit them.
License
Power Viz is released under the MIT License. Bundled third-party components keep their own licenses.
Power BI and Microsoft Fabric are trademarks of Microsoft. Power Viz is not affiliated with or
endorsed by Microsoft.
| |