A lightweight, fast desktop text editor built with C# and Avalonia UI.
- Tabbed editing with drag-and-drop reordering and smart tab selection
- Syntax highlighting for 20+ programming languages
- Auto-save with content caching (changes saved every 500ms)
- Session persistence - reopens your tabs, window state, and font preferences
- Find & Replace with regex support
- Find in all tabs - search across all open files
- External file change detection with reload prompts
- Dual themes - Dracula dark and VS Code-inspired light theme
- Cross-platform - Windows, macOS, Linux
cd src
dotnet buildcd src
dotnet run --project NoteModeOr for a release build:
cd src
dotnet build -c Release
dotnet run --project NoteMode -c Release| Shortcut | Action |
|---|---|
Ctrl+N |
New tab |
Ctrl+O |
Open file |
Ctrl+S |
Save |
Ctrl+Shift+S |
Save As |
Ctrl+Shift+A |
Save All |
Ctrl+W |
Close tab |
Ctrl+F |
Find |
Ctrl+H |
Find & Replace |
Ctrl+Shift+F |
Find in all tabs |
Ctrl+Shift+W |
Toggle whitespace |
Ctrl+Scroll |
Adjust font size |
Built with MVVM pattern:
src/NoteMode/
├── Models/ # Data structures (AppState, TabState)
├── Services/ # Business logic (state, cache, syntax)
├── ViewModels/ # Presentation logic with bindings
├── Views/ # Avalonia XAML UI definitions
└── Themes/ # Color schemes (Dracula, Light)
- App state:
~/.notemode/state.json - Tab cache:
~/.notemode/cache/
- Avalonia UI - Cross-platform UI framework
- AvaloniaEdit - Text editor component
- ReactiveUI - Reactive MVVM extensions
MIT
