DevTools Panel
Extension development, debugging, and maintenance tools.
DevTools Panel
The DevTools Panel contains tools for extension development, debugging, and maintenance. These tools are geared toward developers working on Pyvoid itself.
mindmap
root((DevTools Panel))
Build
Reload
Hotload
Testing
Smoke Test
Test Error
Debugging
Highlight Changes
View Logs
Claude Fix
Element Spy
Data
Clear Clipboard
Monitoring
MCP Workbench
Exploration
Script Console
WPF-UI DemoReload and Testing
These tools manage the extension lifecycle during development. Use them after editing Pyvoid source files to load your changes into the running Revit session.
Reload Pyvoid
Rebuild the entire Pyvoid ribbon UI after structural changes such as adding or removing pushbuttons, renaming panels, or editing bundle.yaml files. Use Reload when you change panel structure, icons, or button metadata.
Key features:
- Full ribbon rebuild including all extensions
- Clears all cached module imports
- Required after structural changes (new buttons, panel reorganization)
How to use:
- Save your changes to
bundle.yaml, icons, or panel structure. - Click Reload Pyvoid from the DevTools panel.
- Wait for the ribbon to rebuild -- all panels refresh automatically.
Hotload
Refresh Pyvoid library code without rebuilding the full ribbon. Hotload clears all pyvoid.* entries from sys.modules, forcing Python to re-import library code on the next tool invocation. Faster than Reload when you are editing code in lib/pyvoid/ and do not need to refresh the ribbon layout.
Key features:
- Clears
pyvoid.*module cache for fresh imports - Preserves ribbon layout and button state
- Faster than full Reload for library-only changes
How to use:
- Save your changes to files under
lib/pyvoid/. - Click Hotload from the DevTools panel.
- Run the affected tool -- it picks up the new code automatically.
Smoke Test
Validate all Pyvoid tools by importing their entry points and checking for initialization errors. Smoke Test runs through every pushbutton in the extension, verifying that imports succeed and basic setup code executes without exceptions. Use it after large refactors or dependency changes to catch breakage before testing manually.
Key features:
- Scans all pushbutton directories for importable scripts
- Reports import errors with full tracebacks
- Summary of pass/fail counts per panel
How to use:
- Click Smoke Test from the DevTools panel.
- Wait for the scan to complete across all tools.
- Review the results -- failed tools show the error traceback.
Debugging
Tools for inspecting changes, viewing logs, testing error handling, and diagnosing problems during development.
| Tool | Action |
|---|---|
| Highlight Changes | Mark modified tool icons based on git status -- shows which tools have uncommitted changes |
| View Logs | Browse recent Pyvoid log entries with level filtering (debug, info, warning, error) and search |
| Test Error | Intentionally raise an exception to verify that error handling, logging, and user-facing error dialogs work correctly |
| Claude Fix | Launch Claude Code with full context to diagnose and fix recent Pyvoid script errors |
| Element Spy | Deep element parameter inspector with diff capabilities |
Claude Fix
Launch Claude Code with full context to diagnose and fix recent Pyvoid script errors. Claude Fix passes the most recent error log directly to Claude Code and opens in the project working directory with the error pre-loaded. Runs without an active Revit document.
Shortcut: BC
Key features:
- Passes the most recent error log directly to Claude Code
- Opens in the project working directory with the error pre-loaded
- Runs without an active Revit document
How to use:
- After a tool error, click Claude Fix from the DevTools panel (or press
BC). - Claude Code launches with the error context pre-loaded.
- Review the diagnosis and apply suggested fixes.
Element Spy
Deep element parameter inspector with diff capabilities. Element Spy shows all instance and type parameters for selected elements, including BuiltInParameter names, with instant search and filter, side-by-side comparison across multiple elements, and snapshot-based before/after diffing to see what a tool changed.
Context: requires selection
Key features:
- Shows all instance and type parameters with
BuiltInParameternames - Search and filter parameters instantly
- Compare multiple elements side-by-side
- Snapshot before/after to diff tool changes
- Copy individual values or the full table to clipboard
How to use:
- Select one or more elements in the model.
- Run Element Spy from the DevTools panel.
- Browse parameters, search by name, or switch to Compare mode to view elements side-by-side.
- Use Snapshot before and after running another tool to diff the parameter changes.
Data Maintenance
Clear Clipboard
Delete every clipboard file stored by Copy/Paste State tools. Clear Clipboard removes every *.json from %APPDATA%/Pyvoid/data/clipboard/. This affects all Copy/Paste State actions (VG, Filters, Zoom, Section Box, Crop, Viewport) but does not touch other Pyvoid tools or settings.
Key features:
- Removes all
*.jsonfiles from the Pyvoid clipboard directory - Affects Copy/Paste State data for VG, Filters, Zoom, Section Box, Crop, and Viewport
- Does not affect other Pyvoid tools or settings
How to use:
- Click Clear Clipboard from the DevTools panel.
- Confirm the deletion when prompted.
- All clipboard state files are removed immediately.
Monitoring and Exploration
MCP Workbench
Real-time MCP connection monitor and log viewer. MCP Workbench shows connection status, trust state, audit log, event stream, and diagnostic logs in one window.
Key features:
- Live connection status and trust state for all MCP connections
- Audit log with timestamped events
- Event stream for real-time monitoring
- Diagnostic logs aggregated in one view
How to use:
- Click MCP Workbench from the DevTools panel.
- Review the connection status panel to verify active connections.
- Use the event stream tab to watch live events.
- Check the audit log for a historical record of MCP activity.
Script Console
Interactive Python REPL for Revit API exploration. Script Console provides a live Python interpreter inside Revit with common objects pre-imported. Type Python code in the input box and press Enter or click Run to execute; results appear in the output area.
Pre-imported names: doc, uidoc, DB, UI, List, transaction, sel, sel1
Key features:
- Interactive Python interpreter running inside the Revit process
- Pre-imported Revit API objects for immediate use
- Results displayed in the output area after each execution
- History navigation for previously run snippets
How to use:
- Click Script Console from the DevTools panel.
- Type a Python expression or statement in the input box.
- Press Enter or click Run to execute.
- View the result or any printed output in the output area.
WPF-UI Demo
Demonstrates WPF-UI Fluent 2 controls running inside Revit. This is a proof-of-concept for UI modernization that validates assembly loading, control instantiation, and theme integration.
Minimum Revit version: 2026
Key features:
- Proof-of-concept for WPF-UI (lepoco/wpfui) Fluent 2 integration
- Validates assembly loading and control instantiation in the Revit host
- Tests theme integration and WinUI 3 visual style under WPF
How to use:
- Open Revit 2025, 2026, or 2027.
- Click WPF-UI Demo from the DevTools panel.
- Interact with the demo controls to verify rendering and behavior.
Last updated: 2026-04-16