README.md

May 12, 2026 ยท View on GitHub



๐Ÿ–ฅ๏ธ A full-featured open-source IDE for .NET โ€” Binary analysis, reverse engineering & build tooling

.NET Platform IDE Version License: AGPL v3 Status Roadmap NuGet


๐Ÿšง Active Development โ€” New features, editors and panels are added regularly. Contributions welcome!

๐Ÿ“… Last revised: 2026-05-12


WPF HexEditor IDE
WpfHexEditor โ€” Full IDE with VS-style docking, project system, and multiple editors

The IDE โ€ข Editors โ€ข Controls โ€ข Panels โ€ข Quick Start โ€ข Docs โ€ข Changelog


๐Ÿ–ฅ๏ธ The IDE Application

<WpfHexEditorย Studio/>{\color{#2E7BDE}\texttt{<}}{\color{#E87A20}\texttt{WpfHexEditor}}\ {\color{#2E7BDE}\texttt{Studio/>}} is a full-featured binary analysis IDE for Windows, built with WPF and .NET 8. Think Visual Studio for binary files.

๐ŸชŸ Docking (100% in-house)Fully custom VS-style docking engine โ€” float, dock, auto-hide, pin, colored tab strips, 16 built-in themes (Dark, Light, VS2022Dark, DarkGlass, Dracula, Nord, Tokyo Night, Catppuccin Mocha/Latte, Gruvbox Dark, Forest, Matrix, Synthwave 84, Cyberpunk, High Contrastโ€ฆ), tab placement left/right/bottom, layout undo/redo (Ctrl+Shift+Z/Y), serializable workspace state, VS-like drop overlay with active-tab gap and placement-aware tab styles (top/bottom CornerRadius switch)
๐Ÿ—๏ธ Project SystemOpen and build .whsln/.whproj native projects or Visual Studio .sln/.csproj/.vbproj solutions โ€” MSBuild build/rebuild/clean with parallel project compilation, real-time build progress bar, virtual and physical folder organization, per-file editor state persistence, project template scaffolding
๐Ÿ“ .whfmt โ€” Declaration-Driven IDEThe โค๏ธ of the IDE โ€” an in-house unified definition language that makes the entire application data-driven, not code-driven. 790+ definitions ship built-in (schema v2.3). .whfmt decides: which editor opens a file (Hex, Code, Image, Audio, JSON, Markdownโ€ฆ) ยท how binary formats are parsed (repeating blocks, unions, versioned structures, pointers, checksums, assertions, forensic alerts, variables, references) ยท how source languages behave in the Code Editor (syntax highlighting for 57+ languages, folding, bracket pairs, comment toggles, auto-close, indentation, end-of-block hints, breakpoint validation, whitespace rendering) ยท how formats are detected (magic bytes, confidence scoring, multi-signature, MIME types). Add a new file type? Write a .whfmt โ€” no C# code needed. Also available as a standalone cross-platform NuGet package: whfmt.FileFormatCatalog.
๐Ÿ” Binary IntelligenceDeep binary analysis toolkit โ€” 790+ format auto-detection via magic bytes with confidence scoring, reactive Parsed Fields panel with expandable groups and FormatNavigator bookmark strip, format field color overlay directly on the hex view, Data Inspector showing 40+ type interpretations at caret (integers, floats, strings, GUIDs, dates, colors, IP addressesโ€ฆ), Assembly Explorer for .NET PE inspection with ILSpy C#/VB.NET decompilation
๐Ÿง  Code IntelligenceIn-process Roslyn for C#/VB.NET analysis โ€” full LSP 3.17 client supporting 13 provider types: completion, hover, signature help, code actions, rename, inlay hints, code lens, semantic tokens, call hierarchy, type hierarchy, pull diagnostics, linked editing, breadcrumb navigation bar
๐Ÿค– AI AssistantMulti-provider AI chat panel โ€” supports Anthropic, OpenAI, Google Gemini, Ollama, and Claude Code CLI out of the box, 25 MCP tools for deep IDE integration (build, debug, navigate, analyze), streaming responses with inline code apply, @mentions for context injection (@file/@selection/@errors/@solution), dedicated command palette (Ctrl+Shift+A), conversation history, customizable prompt presets
๐Ÿ”Œ Plugin SystemExtensible plugin architecture โ€” SDK 2.0.0 (API frozen, semver), .whxplugin package format, Plugin Manager UI, typed EventBus (39+ domain events), capability registry, extension points (menus, toolbar, titlebar, panels, status bar, terminal commands), dependency graph, plugin signing with signature validation, out-of-process sandbox with HWND embedding โ€” 28 built-in plugins ship with the IDE. Lazy/Standby loading โ€” file-extension and command-based activation triggers; dormant plugins stay unloaded until invoked; manifest-driven stubs keep menus and Command Palette fully discoverable; open panel state persists across restarts
โŒจ๏ธ Command & TerminalCommand Palette (Ctrl+Shift+P) with 9 search modes (commands, files, symbols, go-to-lineโ€ฆ) โ€” central command registry (~100 commands) with configurable keyboard shortcuts, integrated multi-tab terminal (Ctrl+\``) with 35+ built-in commands including plugin-reload, extensible by plugins via ITerminalService` API
๐Ÿž .NET Debugger (~60%)Integrated .NET debugging UI โ€” Debug menu (Start/Stop/Restart, Step Over/Into/Out), collapsible toolbar pod, execution line highlight, full breakpoint system with conditions, hit counts, enable/disable toggle, and solution-scoped persistence, Breakpoint Explorer panel, right-click gutter popup for breakpoint editing, debug status bar ยท โš ๏ธ Debug launch not yet functional โ€” UI and breakpoint infrastructure are ready, runtime attach pending
๐Ÿงช Unit TestingBuilt-in test runner โ€” auto-detects xunit, nunit, and mstest projects, runs via dotnet test with TRX result parsing, pass/fail/skip counters with color-coded outcome glyphs, context-sensitive detail panel (project summary, class summary, or individual test details), auto-run on successful build
๐Ÿ“‹ IDE InfrastructureUnified editor plugin architecture via IDocumentEditor โ€” shared undo engine with coalescence and VS-style history dropdown, Ctrl+Z/Y across all editors, rectangular block selection (Alt+Click), adaptive status bar, 30+ options pages, workspace system (.whidews save/restore), dynamic View menu (Flat/Categorized/ByDockSide), middle-click pan mode, NuGet Solution Manager, dependency injection via Microsoft.Extensions.DependencyInjection, tab groups (split editors horizontally/vertically, ITabGroupService, 16 TG_* theme tokens, keyboard shortcuts, settings page), Window menu (_Window top-level menu โ€” Close/Close All But This/Close All Documents, Next/Previous Document Ctrl+Tab, Full Screen F11 via Win32 MonitorFromWindow/GetMonitorInfo โ€” covers entire monitor including taskbar, restores exact position on exit)
๐ŸŒ LocalizationFull IDE UI localization โ€” 27 languages: ar-SA ยท cs-CZ ยท da-DK ยท de-DE ยท el-GR ยท es-419 ยท es-ES ยท fi-FI ยท fr-CA ยท fr-FR ยท hi-IN ยท hu-HU ยท id-ID ยท it-IT ยท ja-JP ยท ko-KR ยท nl-NL ยท pl-PL ยท pt-BR ยท pt-PT ยท ro-RO ยท ru-RU ยท sv-SE ยท th-TH ยท tr-TR ยท uk-UA ยท vi-VN ยท zh-CN; all panels, menus, context menus, dialogs, and toolbar buttons translated; runtime language switching

๐Ÿ“ Editors

Every editor is a standalone IDocumentEditor plugin โ€” reusable outside the IDE.

EditorProgressDescription
Code Editor~90%Advanced source editor โ€” 57+ languages (incl. F# + VB.NET), Roslyn in-process C#/VB.NET analysis, full LSP 3.17 suite (13 providers: completion, hover, signature help, code actions, rename, inlay hints, code lens, semantic tokens, call/type hierarchy, linked editing, pull diagnostics), sticky scroll, Find All References (Shift+F12), multi-caret (Ctrl+Alt+Click), bracket-depth colorizer, color swatch preview, column rulers, format-on-save, split view, Ctrl+Click links and emails (toggleable, ClickableLinksEnabled/ClickableEmailsEnabled), upgraded Roslyn semantic inline hints (IReferenceCountProvider, whfmt-driven CanProvide)
TBL Editor~75%Character table editor โ€” create and edit custom .tbl encoding tables for ROM hacking and retro game translation, bidirectional hexโ†”text preview
Hex Editor~70%Full binary editor โ€” insert/overwrite modes, 790+ format auto-detection, multi-mode search (hex/text/regex/wildcard/TBL), persistent bookmarks, custom encoding tables, block-level undo/redo with VS-style history dropdown, Go to offset dialog (Ctrl+G)
Diff / Changeset Viewer~65%File comparison tool โ€” binary, text, and structure diff modes with GlyphRun canvas renderers for high performance, word-level highlighting, overview ruler, Myers/Binary/Semantic algorithms, format field overlay for binary diffs
Markdown Editor~50%Markdown authoring โ€” live side-by-side preview, mermaid.js diagram rendering, image paste from clipboard, document outline panel, adaptive render debounce, off-thread word count
XAML Designer~50%Visual WPF designer โ€” live canvas with bidirectional XAMLโ†”design sync, move/resize/rotate handles, property inspector (F4), alignment guides, snap grid, 4 split layouts, undo/redo, Toolbox panel, Visual State Manager panel (states/transitions), code-behind generation pipeline (scanner โ†’ generator โ†’ merge engine โ†’ sync service, [GeneratedCode] guard preserves user code, x:Name rename propagation)
Image Viewer~40%Image preview and editing โ€” zoom/pan, rotate/flip/crop/resize operations, concurrent multi-file open, supports common formats (PNG/JPEG/BMP/GIF/TIFF)
Text Editor~40%Plain text editor โ€” 26 embedded language definitions with auto-detection, encoding support (UTF-8/UTF-16/ASCII/custom), line numbering, basic search
Script Editor~40%C# scripting environment โ€” split-view editor with C#Script language support, Roslyn-powered SmartComplete with IDE globals injection, execute scripts to automate IDE workflows
Document Editor~50%Rich document editor โ€” WYSIWYG editing for RTF, DOCX, and ODT formats, DrawingContext-based GlyphRun rendering, text formatting toolbar, headers/footers, page breaks, table insert/edit dialog, hyperlink insert dialog, auto-list (bullet and numbered), page settings dialog (margins, paper size, orientation), rich context menu, find/replace, split hex pane for raw inspection, 27-language localization
Entropy Viewer~30%Binary entropy visualizer โ€” graphical entropy and byte-frequency charts to detect encrypted, compressed, or packed regions at a glance, click-to-navigate to offset
Structure Editor~30%Binary template editor โ€” visual editor for .whfmt format definitions, block DataGrid with drag-drop reordering, Ctrl+F search, validation pipeline, undo/redo, StructurePopToolbar, BlockTypeBadge, LiveWhfmtBuffer, VariablesTab, TestTab with live binary preview, variable cross-reference validation, expression SmartComplete, ForensicPattern tolerant converter, options page
JSON Editor~20%JSON file viewer โ€” syntax highlighting, auto-detection for .json files
Resx Editor~20%.NET resource editor โ€” view and edit .resx resource files with key/value grid, string and file resource support
Disassembly Viewer~12%Machine code disassembler โ€” x86/x64/ARM instruction decoding via Iced 1.21.0, GlyphRun canvas renderer for fast scrolling, navigate-to-offset integration
Class Diagram~30%UML class diagram editor โ€” syntax-highlighted DSL pane (classdiagram.whfmt, CodeEditorSplitHost), 3 layout strategies (Force-Directed / Hierarchical / Swimlane), interactive canvas with minimap drag-to-reposition, left-panel TreeView with colored selectable members, collapsible sections with dual metrics badge, hover tooltips (400 ms delay), context menu (double-click, ZoomToRect, clipboard export), scrollbars with 1 px separator, session state save & restore on reopen, 9-phase options page โ€” full class/interface/enum/struct visualization
Audio Viewer~10%Audio file visualizer โ€” waveform rendering for WAV, MP3, FLAC, OGG, and AIFF formats, stereo left/right channel display
Tile Editor~5%Tile and sprite editor โ€” planned for ROM asset editing with palette support and pixel-level tools (#175)
Decompiled Source Viewer~0%.NET decompilation viewer โ€” C# and IL source display via ILSpy, planned (#106)
Memory Snapshot Viewer~0%Memory dump analyzer โ€” Windows .dmp and Linux core-dump inspection, planned (#117)
PCAP Viewer~0%Network capture viewer โ€” .pcap/.pcapng packet dissection and hex payload display, planned (#136)

New editor? See IDocumentEditor contract and register via EditorRegistry.


๐Ÿงฉ Standalone Controls & Libraries

All controls are independently reusable โ€” no IDE required.

๐Ÿ“ฆ UI Controls & NuGet Packages

ControlNuGetDescription
Hex EditorNuGetFull-featured binary editor โ€” insert/overwrite modes, 790+ format auto-detection, multi-mode search, bookmarks, TBL encoding, block undo/redo, Go to offset (Ctrl+G), HexEditorSplitHost (synchronized split-view with built-in toolbar toggle), HexEditorSettings panel ยท Guide
Code EditorNuGetAdvanced source editor โ€” 57+ languages, LSP 3.17, folding, multi-caret, minimap, split view, inline hints ยท Guide
DockingNuGetVS Code-style docking โ€” panels, documents, tab groups, drag-and-drop, 16 themes, layout persistence ยท Guide
Color PickerNuGetHSV wheel, RGB/HSL sliders, hex input, palettes, eyedropper, opacity support
TerminalNuGetMulti-tab shell emulator โ€” cmd/PowerShell/bash, 39 built-in commands, macros, HxScript scripting ยท Guide
ByteProviderNuGetStandalone byte provider โ€” stream/file/memory backends, IByteProvider abstraction, cross-platform net8.0
FileFormatCatalogNuGet790+ embedded format definitions โ€” extension/MIME/magic-byte detection, 57 syntax grammars, 27 categories; cross-platform net8.0 ยท Guide
HexBoxโ€”Lightweight single-value hex input field โ€” drop-in TextBox replacement
ProgressBarโ€”Animated progress indicator โ€” determinate/indeterminate modes, themeable
# Install via .NET CLI
dotnet add package WPFHexaEditor              # Hex editor control (v3.3.0)
dotnet add package WpfCodeEditor              # Code editor control (v0.9.8.0)
dotnet add package WpfDocking                 # Docking framework (v0.9.7.0)
dotnet add package WpfColorPicker             # Color picker control
dotnet add package WpfTerminal                # Terminal control (v0.9.7.0)
dotnet add package WpfHexEditor.Core.ByteProvider   # Byte provider (v1.1.0, cross-platform)
dotnet add package whfmt.FileFormatCatalog    # 790+ format definitions (cross-platform net8.0)

UI control packages target .NET 8.0-windows ยท ByteProvider and whfmt.FileFormatCatalog target cross-platform net8.0. All packages bundle their dependencies (zero external NuGet deps) and include XML IntelliSense + SourceLink.

Libraries

LibraryDescription
CoreFoundation library โ€” ByteProvider (stream-based byte management), 16 injectable services (search, replace, copy, bookmark, undoโ€ฆ), format detection, data layer
Editor.CoreShared editor infrastructure โ€” IDocumentEditor plugin contract, editor registry, changeset tracking, shared UndoEngine, middle-click pan mode
BinaryAnalysisBinary intelligence engine โ€” 790+ format signatures, .whfmt v2.0 template parser, type decoders, checksum/assertion validation, DataInspector (40+ types)
DefinitionsEmbedded catalog โ€” 690+ binary format definitions (schema v2.3), 57 syntax grammars, 27 categories, magic-byte detection, MIME lookup; published as whfmt.FileFormatCatalog cross-platform NuGet
EventsTyped pub/sub event bus โ€” 39+ domain events, weak references to prevent leaks, cross-process IPC bridge for sandboxed plugins
SDKPlugin SDK (SemVer 2.0.0 frozen) โ€” IWpfHexEditorPlugin entry point, IIDEHostContext host services, 15+ contracts (menus, toolbar, titlebar, panels, status bar, settings, terminal commands)
Core.RoslynIn-process Roslyn integration โ€” C#/VB.NET incremental analysis, replaces external OmniSharp process for faster and more reliable code intelligence
Core.LSP.ClientLanguage Server Protocol 3.17 client โ€” full JSON-RPC transport, 13 provider types (completion, hover, signature help, code actions, rename, inlay hints, code lens, semantic tokensโ€ฆ), document sync
Core.DiffDiff engine โ€” Myers (text), binary (byte-level), semantic (structure-aware) algorithms, Git integration, export to HTML/patch
Core.WorkspacesWorkspace persistence โ€” .whidews format (ZIP+JSON), captures and restores full IDE state: dock layout, open files, solution, theme, editor settings
Core.MCPModel Context Protocol support โ€” JSON-RPC tool definitions enabling AI assistants to interact with IDE services (build, debug, navigate, analyze)
Core.BuildSystemBuild orchestration โ€” MSBuild API integration, parallel project builds, incremental dirty tracking (FileSystemWatcher per project), build progress events
Core.Debugger.NET debug adapter โ€” breakpoint management (conditions, hit counts, persistence), step over/into/out, variable evaluation, debug session lifecycle
Core.ScriptingScript execution engine โ€” C#Script via Roslyn, IDE globals injection (HxScriptEngine), REPL support for automation and data exploration
Core.TerminalTerminal command engine โ€” 35+ built-in commands, command history with persistence, extensible via ITerminalService plugin API
Core.CommandsCommand infrastructure โ€” central registry (~100 commands), configurable keyboard shortcuts, conflict detection, Command Palette (Ctrl+Shift+P, 9 search modes)
Core.SourceAnalysisLightweight source analysis โ€” regex-based type/member outline for Solution Explorer tree navigation, BCL-only (no Roslyn dependency)
Core.AssemblyAnalysis.NET assembly inspector โ€” System.Reflection.Metadata PEReader, type/method/field model, no ILSpy dependency (BCL-only)
Core.DecompilerDecompilation service โ€” IDecompiler abstraction with ILSpy backend, C#/VB.NET output, assembly-to-source navigation
ProjectSystemProject model โ€” .whsln/.whproj + VS .sln/.csproj support, project-to-project references, serialization, New Project dialog with templates
PluginHostPlugin lifecycle manager โ€” discovery (scan + manifest), ALC-isolated loading, health watchdog, hot-reload via CollectibleAssemblyLoadContext, Plugin Manager UI
PluginSandboxPlugin isolation sandbox โ€” out-of-process host with HWND embedding, bidirectional IPC, Job Object resource limits, crash containment
Docking.CoreDocking abstraction layer โ€” DockEngine contracts, layout model (dock/float/auto-hide/tab groups), serializable state
OptionsSettings framework โ€” AppSettingsService with JSON persistence, OptionsEditorControl tree UI, 20+ pages, plugin-extensible via IOptionsPage

๐Ÿ—‚๏ธ IDE Panels

PanelProgressDescription
AI Assistant~80%Chat with AI directly in the IDE โ€” supports 5 providers (Anthropic, OpenAI, Gemini, Ollama, Claude Code CLI), 25 MCP tools for deep IDE interaction, streaming responses, inline code apply, @mentions for context injection, conversation history and prompt presets
Parsed Fields~65%Binary structure viewer โ€” automatically parses 690+ file formats and displays field names, offsets, values, and types in an expandable tree, with FormatNavigator bookmark strip and forensic alert badges for failed integrity checks
Solution Explorer~75%Project navigation tree โ€” browse virtual and physical folders, drag-and-drop file organization, lazy-loaded source outline showing types and members for quick navigation within .cs/.xaml files
Data Inspector~60%Byte interpretation panel โ€” shows 40+ data type readings at the current caret position (integers, floats, strings, GUIDs, dates, colors, IP addressesโ€ฆ), updates live as you move through the file
Options~70%Settings center โ€” 30+ options pages organized in a tree (Environment, Hex Editor, Code Editor, Text Editor, Plugin System, Build & Run, Debugger, Tools), searchable, plugin-extensible
Output~70%Build and log output โ€” displays build results with severity-colored messages (info/warning/error/success), session log channel, auto-scroll with manual override
Call Hierarchy~65%Call chain navigator โ€” view all incoming and outgoing function calls for any symbol via LSP 3.17, expandable tree with file locations (Shift+Alt+H)
Type Hierarchy~65%Inheritance viewer โ€” explore supertypes (base classes) and subtypes (derived classes) for any type via LSP 3.17, click to navigate (Ctrl+Alt+F12)
Error List~65%Diagnostic aggregator โ€” collects errors and warnings from all open editors and build results, click any entry to jump directly to the source file and line
Terminal~70%Integrated terminal โ€” multi-tab shell sessions (Ctrl+\``), 39 built-in commands, ANSI color support, HxScript scripting, macro record/replay, extensible by plugins via ITerminalService` API
Unit Testing~60%Test runner panel โ€” auto-detects xunit, nunit, and mstest projects, runs tests via dotnet test, displays results with pass/fail/skip counters and duration, auto-run on build success
Quick Search~60%Inline find overlay (Ctrl+F) โ€” find next/previous with regex toggle, match highlighting across the document
File Comparison~55%File diff launcher โ€” compare any two files with synchronized scrolling, DiffHub panel for quick access to recent comparisons, opens full diff viewer document
Breakpoint Explorer~55%Breakpoint management panel โ€” lists all breakpoints across the solution with conditions, hit counts, enable/disable toggle, and one-click jump to source location
Plugin Manager~55%Plugin administration โ€” browse installed plugins, enable/disable individually, view dependencies, uninstall, and check for compatibility
Format Info~50%File format identifier โ€” displays the detected format name, MIME type, magic bytes signature, and section list for the currently open file
File Statistics~50%Binary analysis dashboard โ€” byte-frequency distribution chart, Shannon entropy score, file size breakdown, useful for identifying encrypted or compressed regions
Properties~50%Context-aware property inspector (F4) โ€” displays categorized properties for the selected item (file, project, editor element) with debounced updates
Plugin Monitoring~50%Plugin health dashboard โ€” real-time CPU and memory usage charts per plugin, helps identify resource-hungry or misbehaving extensions
Archive Explorer~45%Archive file browser โ€” open ZIP, 7z, and TAR archives as navigable trees, extract individual entries, preview binary content directly in the hex view without extracting
Structure Overlay~40%Format field highlighter โ€” color-codes binary structure fields directly on the hex grid based on the detected .whfmt format definition, hover for field details
Advanced Search~40%Multi-mode search panel โ€” 5 search modes: Hex pattern, plain text, regex, TBL-encoded, and wildcard matching
Pattern Analysis~35%Pattern scanner โ€” detects known byte sequences, recognizable data structures, and anomalies within binary files for reverse engineering and forensic analysis
Assembly Explorer~30%.NET assembly browser โ€” load any .NET DLL/EXE to inspect namespaces, types, methods, and fields in a tree view, double-click to decompile to C# or VB.NET in a syntax-highlighted Code Editor tab
Document Structure~55%VS-style outline panel โ€” shows the structural skeleton of the active document (classes, methods, regions, headings, sectionsโ€ฆ) with 8 providers: LSP, Source Outline, JSON, XML, Markdown, INI, Binary Format, Folding Regions; click any node to jump; 18 DS_* theme tokens
Custom Parser Template~25%Template-driven parser โ€” define custom binary structure schemas (similar to 010 Editor .bt templates) and see live parsed field output in the Parsed Fields panel
Git Integration~40%VS-style Git client โ€” UI implemented: GitChangesPanel (stage/unstage/commit/discard, diff preview), push/pull/fetch toolbar, branch picker popup (create/switch/delete), stash manager, status bar adapter, GitHistoryPanel (log graph, commit detail, file tree), BlameGutterControl (per-line author/date inline, Ctrl+Click to history); 18 GC_* theme tokens โ€” not yet integration-tested

๐Ÿ“ธ Screenshots

๐Ÿ–ฅ๏ธ IDE Overview
VS-style docking with Solution Explorer, HexEditor and ParsedFieldsPanel

IDE Overview
More screenshots
Parsed Fields
๐Ÿ”ฌ Parsed Fields โ€” 790+ format detection
Multiple Editors
๐Ÿ“ Multi-Editor Tabs
Solution Explorer
๐Ÿ—‚๏ธ Solution Explorer
Light Theme
โ˜€๏ธ Light Theme (16 built-in themes)
Output Panel
๐Ÿ“ค Output Panel
Error Panel
๐Ÿ”ด Error Panel
TBL Editor
๐Ÿ“‹ TBL Editor
TBL Explained
๐ŸŽฎ TBL Format

โšก Quick Start

Run the IDE:

git clone https://github.com/abbaye/WpfHexEditorIDE.git

Open WpfHexEditorControl.sln, set WpfHexEditor.App as startup project, press F5.

Developed on Visual Studio 2026. Compatible with VS 2022 (v17.8+) and JetBrains Rider.

Embed the HexEditor in your WPF app:

<!-- Project reference -->
<ProjectReference Include="..\WpfHexEditor.Core\WpfHexEditor.Core.csproj" />
<ProjectReference Include="..\WpfHexEditor.HexEditor\WpfHexEditor.HexEditor.csproj" />
<!-- XAML -->
<Window xmlns:hex="clr-namespace:WpfHexEditor.HexEditor;assembly=WpfHexEditor.HexEditor">
  <hex:HexEditor FileName="data.bin" />
</Window>

Complete Tutorial โ†’ ยท NuGet Packages available โ€” HexEditor, CodeEditor, Docking, ColorPicker


๐Ÿ—บ๏ธ Roadmap

Full details: ROADMAP.md ยท CHANGELOG.md

In Progress:

FeatureStatus#
Code Editor โ€” most features shipped; remaining: inline value hints (debug variable overlay)๐Ÿ”ง ~90%#84
LSP Engine / SmartComplete โ€” remaining: inline value hints, pull-diagnostics๐Ÿ”ง ~70%#85โ€“86
MSBuild & VS Solution โ€” remaining: VB.NET item group editing, nested solution folders๐Ÿ”ง ~75%#101โ€“103
Assembly Explorer + Decompilation โ€” remaining: plugin panel improvements, PDB source-link matching๐Ÿ”ง ~55%#104โ€“106
Document Model โ€” HexEditor โ†” CodeEditor shared undo engine โœ…; remaining: multi-editor collaboration๐Ÿ”ง ~55%#107
Plugin Sandbox โ€” remaining: gRPC migration, hot-reload from sandbox๐Ÿ”ง ~40%#81
Structure Editor โ€” block DataGrid, drag-drop, validation, undo/redo, TestTab, SmartComplete; remaining: live binary sync, complex types๐Ÿ”ง ~35%#172
.NET Debugger โ€” UI complete (menus, toolbar, breakpoints, explorer), VS2026 panel audit done; remaining: runtime attach and debug launch๐Ÿ”ง ~35%#44, #90
Document Editor โ€” headers/footers, page breaks, table/hyperlink dialogs, auto-list, page settings, rich context menu, 27-language l10n; remaining: OLE2/RTF fidelity, tracked changes๐Ÿ”ง ~50%#120
XAML Designer โ€” VSM panel, code-behind generation pipeline (scanner/generator/merge/sync, [GeneratedCode] guard, rename propagation); remaining: full property binding, control library๐Ÿ”ง ~50%#150
Git Integration โ€” UI in place (changes panel, history, blame gutter, branch picker, stash), not yet integration-tested๐Ÿ”ง ~40%#91
IDE Localization โ€” 27 languages, all panels + menus translated; remaining: remaining code-behind strings๐Ÿ”ง ~78%#100

Planned:

FeatureStatus#
Editors Phase 2 โ€” TextEditor LSP, DiffViewer 3-way merge, AudioViewer playback, TileEditor pixel tools๐Ÿ”œ Planned#169โ€“178
Plugin Marketplace & Auto-Update โ€” online registry, signed packages, auto-update๐Ÿ”œ Planned#41โ€“43
Installable Package โ€” MSI / MSIX / WinGet, auto-update channel, no SDK required๐Ÿ”œ Planned#109
Official Website โ€” landing page, feature showcase, documentation browser, plugin registry๐Ÿ”œ Planned#108
โœ… Completed features
FeatureVersion
Build-number scheme reset โ€” WpfHexEditor.App realigned from 0.6.5.225 to 0.6.5.8 (small monotonic build counter in the 0.6.5.* revision slot); no functional regression; published NuGet packages unchangedv0.6.5.8
Code Analysis scope UX + SplitButton re-run โ€” scope label (Solution/Project/File) in toolbar; SplitButton with same-scope re-run + dropdown (Run Solution / Run Projectโ€ฆ / Run Fileโ€ฆ); _lastScope/_lastPath persisted across tab switchesv0.6.5.225
Code Analysis Treemap context menu โ€” right-click: Open File, Copy Path, Copy Metrics, Run Analysis on File, Filter to This Project, Highlight Top 10 Hotspots (toggle dims non-hotspot tiles); 15 new keys ร— 28 satellite languagesv0.6.5.225
Code Analysis localization fixes โ€” AppLocalizedDictionary in UserControl.Resources.MergedDictionaries fixes empty DataGridTextColumn headers; matches WatchesPanel / AssemblyDetailPane patternv0.6.5.225
WPFHexaEditor 3.3.0 โ€” HexEditorSplitHost synchronized split-view host with built-in toolbar toggle; HexEditorSettings auto-generated settings panel; unified namespace (xmlns:hex); doc/guide clarity passv0.6.5.110
Document Editor waves Bโ€“G โ€” headers/footers, page breaks, table insert/edit dialog, hyperlink insert dialog, auto-list (bullet & numbered), page settings dialog (margins/paper/orientation), rich context menu, 27-language localizationv0.6.5.110
XAML Designer code-behind pipeline โ€” XamlCodeBehindScanner, XamlCodeBehindGenerator, CodeBehindMergeEngine, CodeBehindSyncService, XamlNameRenameService; [GeneratedCode] guard preserves user code; Visual State Manager panel (VisualStatePanel), CodeGenPanelv0.6.5.110
Debug panels VS2026 readiness โ€” full audit and conformance pass across all 9 debug panels (Disassembly, ExceptionSettings, ImmediateWindow, MemoryWindow, Modules, ParallelStacks, ParallelWatch, Tasks, Threads)v0.6.5.110
NuGet release wave โ€” standalone packages: WPFHexaEditor 3.2.0, WpfCodeEditor 0.9.8.0, WpfDocking 0.9.7.0, WpfTerminal 0.9.7.0, ByteProvider 1.1.0, whfmt.FileFormatCatalog 1.1.0; full guide docs bundled; satellite assembly contamination fix; _BundledProjectDll isolation patternv0.6.5.15
IDE Localization โ€” 77.9% DynamicResource coverage; all panels, menus, context menus, dialogs, and toolbar buttons translated into 27 languages; per-assembly LocalizedResourceDictionary patternv0.6.5.15
WpfDocking 0.9.7.0 โ€” horizontal tab reorder for docked panels, tab-switch triple-fire eliminated (perf), StaticResource toolbar labels fix, full Phase 5+6 localization wiredv0.6.5.15
790+ .whfmt format definitions โ€” +100 new definitions (waves 155+), Groups Cโ€“J completed, all validated against schema v2.3; FormatSchemaValidator wired at load timev0.6.5.15
whfmt.FileFormatCatalog v1.1.0 NuGet โ€” FormatMatcher, FormatFileAnalyzer, CatalogQuery, FormatMetadataExtensions, FormatSummaryBuilder utility layer added; EmbeddedFormatCatalog returns IReadOnlySet<T> backed by FrozenSet<T>v0.6.5.15
WPFHexaEditor 3.2.0 โ€” Go to offset dialog (Ctrl+G), unified UndoEngine, drag-selection auto-scroll fix, column highlight defaults, BreadcrumbBar freeze + double-rebuild fixv0.6.5.15
whfmt.FileFormatCatalog v1.0.0 NuGet โ€” cross-platform net8.0 package with EmbeddedFormatCatalog, DetectFromBytes, GetByCategory(FormatCategory), GetSchemaJson(SchemaName), zero dependenciesv0.6.4.75
WpfHexEditor.Core.Contracts โ€” IEmbeddedFormatCatalog, EmbeddedFormatEntry, FormatSignature, FormatCategory enum (27 categories), SchemaName enum (5 schemas)v0.6.4.75
790+ .whfmt format definitions โ€” +330 new definitions total, schema v2.3, forensic patterns, variables, references blocks, 57 syntax grammarsv0.6.5.15
Structure Editor โ€” visual .whfmt template editor with block DataGrid, drag-drop, validation pipeline, undo/redo, TestTab, SmartComplete, ForensicPattern converterv0.6.4.75
WhfmtExplorer browser panels โ€” WhfmtBrowserPanel + WhfmtCatalogDocument for browsing all embedded format definitionsv0.6.4.75
Format detection hardening โ€” thread-safe cache, TIER scoring, SignatureStrength converter, corrupted whfmt crash guard, PR #230 integrationv0.6.4.75
HexEditor โ†” CodeEditor Shared Undo Engine โ€” unified UndoEngine across all editors, IUndoAwareEditor, HexByteUndoEntry, DocumentBuffer undo wiringv0.6.4.10
HexEditor Column Highlight defaults โ€” ShowColumnHighlight and ShowAsciiColumnHighlight now false by defaultv0.6.4.10
BCB freeze fix โ€” Render-priority navigation guard eliminates BreadcrumbBar freeze on rapid navigationv0.6.4.9
BCB infinite rebuild fix โ€” resolved BreadcrumbBar double-rebuild loop and phantom empty rowv0.6.4.9
ByteProvider extraction โ€” ByteProvider promoted to standalone WpfHexEditor.Core.ByteProvider library and NuGet packagev0.6.4.9
Context menu polish โ€” drop shadow, accent band, MDL2 icons; Light theme ContextMenu refinementsv0.6.4.9
LSP semantic highlighting โ€” semantic token colorization wired in Code Editorv0.6.4.9
MarkdownEditor WebView2 refactor โ€” HWND resize fix for fullscreen, context menu, find bar wiringv0.6.4.9
Drag-selection auto-scroll โ€” window-level mouse capture for HexEditor and TextEditor drag-scrollv0.6.4.9
NuGet CI pipeline โ€” generic publish workflow covering all 23 packagesv0.6.4.9
Tab Groups โ€” ITabGroupService, split horizontal/vertical, 16 TG_* theme tokens, 77 integration testsv0.6.4.6
Lazy Plugin Loading โ€” manifest-driven stubs, single-click activation, panel state persistencev0.6.4.6
Document Structure Panel โ€” 8 providers (LSP/JSON/XML/Markdown/INI/Binary/Folding/Outline)v0.6.4.6
Roslyn Semantic Inline Hints โ€” IReferenceCountProvider, whfmt-driven CanProvide, hover tooltipv0.6.4.6
Ctrl+Click Links & Emails โ€” toggleable URL/email Ctrl+Click in CodeEditor and TextEditorv0.6.4.6
Window Menu โ€” Close/Close All, Next/Previous Document, Full Screen (F11) via Win32v0.6.4.8
Win32 Fullscreen โ€” native fullscreen toggle, hides title bar and chromev0.6.4.8
AI Assistant Plugin โ€” multi-provider AI chat with 5 built-in providers, 25 MCP IDE tools, streaming responses, inline code apply, @mentions for context, conversation historyv0.6.4.3
Roslyn Integration โ€” in-process C#/VB.NET code analysis replacing external OmniSharp processv0.6.4.3
Document Editor โ€” WYSIWYG rich document editing for RTF, DOCX, and ODT with formatting toolbar, tables, styles panel, find/replace, page settingsv0.6.4.1
Binary Format Engine v2.0 โ€” repeating blocks, unions, versioned structures, pointers, checksums, assertions, forensic alerts across 20 critical formats (PE/ELF/ZIP/PNG/MP4/SQLite/PDFโ€ฆ)v0.6.4.1
Diff Viewer Upgrade โ€” high-performance GlyphRun canvas renderers for binary, text, and structure diffs with word-level highlighting and format field overlayv0.6.4.1
Breakpoint System โ€” full breakpoint management with conditions, hit counts, solution-scoped persistence, Breakpoint Explorer panel, right-click gutter editing popupv0.6.4.1
Call & Type Hierarchy โ€” LSP-powered call hierarchy (Shift+Alt+H) and type hierarchy (Ctrl+Alt+F12) panels with linked editing rangesv0.6.4.1
Archive Explorer โ€” browse ZIP, 7z, and TAR archives as trees, extract entries, preview binary content in-placev0.6.4.1
Code Editor Enhancements โ€” column rulers, bracket-depth colorizer (4 levels), inline color swatch preview, format-on-save, auto-close brackets/quotesv0.6.4.1
Plugin Hot-Reload โ€” live-reload plugins during development without restarting the IDE, cascade reload for dependenciesv0.6.4.1
Script Editor โ€” split-view C#Script editor with Roslyn-powered SmartComplete and IDE globals injectionv0.6.4.1
Dynamic View Menu โ€” organize panels by category, dock side, or flat list with pin favoritesv0.6.4.1
Middle-click Pan โ€” hold middle mouse button to pan across all editors and viewportsv0.6.4.1
Debugger UI Foundation โ€” debug menu, toolbar pod, execution line highlight, gutter hover ghost, 11-bug audit fixv0.6.4.1
HexEditor Block Undo โ€” atomic undo for paste/cut/delete, coalescence for hex digit typing, VS-style history dropdownv0.6.3.8
Sticky Scroll โ€” scope headers pinned at top while scrolling, allocation-free rendering, click-to-navigatev0.6.3.7
Find All References โ€” Shift+F12 with dockable results panel, F8/Shift+F8 navigation between matchesv0.6.3.7
Workspace System โ€” save and restore full IDE state (layout, files, theme, solution) as .whidews workspace filesv0.6.3.7
Compare Files โ€” Myers, binary, and semantic diff algorithms with Git integration, DiffHub launcher, export as patchv0.6.3.7
End-of-Block Hover Hint โ€” hover over }, #endregion, or </Tag> to see the opening block header in a VS-style popupv0.6.3.7
LSP Engine โ€” full JSON-RPC Language Server Protocol client with 13 provider types, breadcrumb bar, inlay hints, code lens, semantic tokensv0.6.3.6
Command Palette โ€” Ctrl+Shift+P with 9 search modes (commands, files, symbols, go-to-line, recent, helpโ€ฆ)v0.6.3.6
IDE EventBus โ€” typed pub/sub event system with 39+ domain events and cross-process IPC bridge for sandboxed pluginsv0.6.3.6
VS Solution + MSBuild โ€” open Visual Studio solutions, build/rebuild/clean via MSBuild API with incremental dirty trackingv0.5.0

๐Ÿ“š Documentation

GETTING_STARTED.mdRun the IDE or embed the control
FEATURES.mdComplete feature list
CHANGELOG.mdVersion history
MIGRATION.mdLegacy V1 โ†’ V2 migration
Architecture OverviewServices, MVVM, data flow
whfmt.FileFormatCatalog GuideFull API reference, architecture, L1โ€“L3 integration guides, .whfmt format specification
WPFHexaEditor GuideHexEditor control โ€” architecture, API reference, L1โ€“L4 integration guides, settings reference
WpfCodeEditor GuideCode editor control โ€” LSP, folding, themes, L1โ€“L4 integration
WpfDocking GuideDocking framework โ€” panels, tab groups, layout persistence, L1โ€“L4 integration
WpfTerminal GuideTerminal control โ€” sessions, macros, HxScript, built-in commands, L1โ€“L4 integration
API ReferenceFull API docs with examples
WikiGetting started

๐Ÿ”ง Requirements

.NET 8.0-windows โ€” Span<T>, SIMD, PGO. .NET Framework 4.8 is no longer supported (use legacy NuGet WPFHexaEditor for .NET Framework).

HexEditor control supports 18 UI languages (ar-SA ยท de-DE ยท es-419 ยท es-ES ยท fr-CA ยท fr-FR ยท hi-IN ยท it-IT ยท ja-JP ยท ko-KR ยท nl-NL ยท pl-PL ยท pt-BR ยท pt-PT ยท ru-RU ยท sv-SE ยท tr-TR ยท zh-CN) with instant runtime switching. IDE UI localization โ€” 27 languages wired (77.9% DynamicResource coverage); remaining code-behind strings planned (#100).


โญ Support & Contributing

<WpfHexEditorย Studio/>{\color{#2E7BDE}\texttt{<}}{\color{#E87A20}\texttt{WpfHexEditor}}\ {\color{#2E7BDE}\texttt{Studio/>}} is 100% free and open source (GNU AGPL v3.0).


Built with โค๏ธ by the WpfHexEditor community ยท AGPL v3.0