MonacoNative.WinUI3
0.8.0.44
dotnet add package MonacoNative.WinUI3 --version 0.8.0.44
NuGet\Install-Package MonacoNative.WinUI3 -Version 0.8.0.44
<PackageReference Include="MonacoNative.WinUI3" Version="0.8.0.44" />
<PackageVersion Include="MonacoNative.WinUI3" Version="0.8.0.44" />
<PackageReference Include="MonacoNative.WinUI3" />
paket add MonacoNative.WinUI3 --version 0.8.0.44
#r "nuget: MonacoNative.WinUI3, 0.8.0.44"
#:package MonacoNative.WinUI3@0.8.0.44
#addin nuget:?package=MonacoNative.WinUI3&version=0.8.0.44
#tool nuget:?package=MonacoNative.WinUI3&version=0.8.0.44
MonacoNative.WinUI3
A personal hobby project for building a native WinUI 3 code editor without WebView2.
The editor uses a C++20 text core, a WinUI 3 / Win2D renderer, native Windows text input, and in-process language services. Monaco Editor and VS Code are used as behavior and implementation references where it makes sense.
Features
- Native text model, undo/redo, selections, multi-cursor editing, folding, minimap, find/replace, and diff view
- Syntax highlighting and language-aware indentation
- Completion UI with Codicons, fuzzy ranking, snippet choices, and Visual Studio-style parameter hints
- C# semantic features through in-process Roslyn
- C++ semantic features through in-process libclang
- Native C# / C++ ports for JSON, HTML, CSS, JavaScript, and TypeScript editing features
- VS Code (default) and Visual Studio keybinding profiles with WinUI host overrides
- C++ source formatting through optional LLVM clang-format
- WinUI 3 sample application with C#, C++, JSON, HTML, CSS, JavaScript, and TypeScript samples
Language coverage is listed in doc/LANGUAGE_SERVICES.md.
Screenshots
<table> <tr> <td width="50%" align="center"><strong>Dark theme</strong><br/><br/><img src="doc/images/editor-dark.png" alt="Dark theme" width="100%" /></td> <td width="50%" align="center"><strong>Light theme</strong><br/><br/><img src="doc/images/editor-light.png" alt="Light theme" width="100%" /></td> </tr> <tr> <td align="center"><strong>Completion</strong><br/><br/><img src="doc/images/completion.png" alt="Completion" width="100%" /></td> <td align="center"><strong>Editing</strong><br/><br/><img src="doc/images/editing.png" alt="Editing" width="100%" /></td> </tr> </table>
Build
Requirements:
- Visual Studio 2026 with Desktop development with C++ and .NET desktop development
- Windows SDK 10.0.26100.0
- .NET 10 SDK
Open MonacoNative.sln, select Debug | x64, restore NuGet packages, and run MonacoNative.SampleApp.
C# uses the Roslyn NuGet packages. C++ uses the fixed libclang runtime packages. JSON, HTML, CSS, JavaScript, and TypeScript services run from code in this repository. No Node.js or external language-server process is required for the built-in language packages.
More build details are in doc/BUILDING.md.
For individual Windows test layers use ./scripts/test.ps1 -Layer Build followed by
-Layer Core, Services, WinUI, and Integration. -Layer All -RunPackages
runs the complete automated path.
Documentation
- Architecture
- Language services
- Building
- Testing
- Keyboard shortcuts
- NuGet deployment and compatibility
- Standalone WinUI NuGet consumer
- Native ABI
- Upstream sources and licenses
License
Project code is licensed under the MIT License. Ported code, dependencies, and icons keep their original licenses and attribution. See THIRD_PARTY_NOTICES.md and doc/UPSTREAM.md.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0-windows10.0.26100 is compatible. |
-
net10.0-windows10.0.26100
- libclang.runtime.win-arm64 (= 17.0.4)
- libclang.runtime.win-x64 (= 17.0.4)
- Microsoft.CodeAnalysis.CSharp.Features (= 4.11.0)
- Microsoft.Graphics.Win2D (= 1.4.0)
- Microsoft.WindowsAppSDK (= 2.4.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.8.0.44 | 100 | 10/30/2026 |
See the project repository releases for version-specific notes.