BareCode
Ein modularer Code-Editor, entwickelt mit C++17, Qt6 und CMake
von Dany Thinnes | Projekt Hirnfrei
Kompiliert sauber auf Linux, Windows und Haiku.
Features
| Feature | Details |
|---|---|
| Projektbaum | Linkes Panel — zeigt nur das gewählte Projektverzeichnis |
| Tabs | Mehrere Dateien gleichzeitig, verschiebbar und schließbar |
| Änderungsindikator | ● im Tab-Titel bei ungespeicherten Änderungen |
| Syntax-Highlighting | HTML, PHP, CSS, C/C++ inkl. mehrzeiliger Kommentare |
| Zeilennummern | Eigener Gutter, aktuelle Zeile hervorgehoben |
| Einrück-Führungslinien | Vertikale Linien wie in VS Code |
| Auto-Indent | Einrückungstiefe wird bei Enter übernommen |
| Tab / Shift+Tab | Ein- und Ausrücken, auch für mehrere Zeilen gleichzeitig |
| Smart Backspace | Springt zur vorherigen Tab-Stop-Position |
| Speichern | Speichern, Speichern unter, Alles speichern |
| Suchen & Ersetzen | Einzeln, Alle, In Auswahl, Regex, Live-Hervorhebung |
| In Dateien suchen | Rekursive Projektsuche mit Ergebnisliste, direkt zur Zeile |
| Dark / Light Mode | Umschaltbar, wird gespeichert |
| Session | Geöffnete Dateien und aktiver Tab werden wiederhergestellt |
Projektstruktur
BareCode/
├── CMakeLists.txt
├── main.cpp
├── resources/
│ ├── resources.qrc
│ └── icon_*.png
└── src/
├── core/ # MainWindow, ProjectManager, Settings, ThemeManager, IPlugin
├── editor/ # EditorPanel, EditorTab, CodeEditor, SearchPanel, FileSearchPanel
├── filetree/ # FileTreePanel
└── highlighter/ # SyntaxHighlighter, HighlighterFactory
Jedes Unterverzeichnis kompiliert als eigene statische Bibliothek.
Abhängigkeiten & Bauen
Linux
Abhängigkeiten (Beispiel Ubuntu/Debian):
sudo apt install cmake qt6-base-dev qt6-base-dev-tools libqt6concurrent6
Abhängigkeiten (Arch/Manjaro):
sudo pacman -S cmake qt6-base
Bauen:
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)
./build/BareCode
Installieren:
sudo cmake --install build
Windows (Visual Studio)
Abhängigkeiten:
- Qt6 (Komponenten: Qt6 Base, Qt6 Concurrent)
- CMake ≥ 3.16
- Visual Studio 2019 oder neuer
cmake -B build -G "Visual Studio 17 2022" -A x64
cmake --build build --config Release
build\Release\BareCode.exe
Windows Installer erstellen (mit Inno Setup):
windeployqt --release build\Release\BareCode.exe
Danach das Inno Setup Skript ausführen.
Haiku
Abhängigkeiten:
pkgman install qt6_base qt6_base_devel
Hinweis:
qt6_base_develenthält auf Haiku sowohl die Header als auch die Build-Tools (moc,rcc,qmake). Getestet auf Haiku R1/beta5.
Bauen:
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)
./build/BareCode
Installieren:
cmake --install build
Nach der Installation wird
mimesetautomatisch aufgerufen um den MIME-Typ zu registrieren, damit BareCode im Haiku Tracker korrekt als Anwendung erkannt wird.
Tastaturkürzel
| Aktion | Kürzel |
|---|---|
| Datei öffnen | Strg+O |
| Neue Datei | Strg+N |
| Projekt öffnen | Strg+Shift+O |
| Speichern | Strg+S |
| Speichern unter | Strg+Shift+A |
| Alles speichern | Strg+Shift+S |
| Suchen / Ersetzen | Strg+F |
| In Dateien suchen | Strg+Shift+F |
| Dark Mode | Strg+Shift+D |
Erweitern
Neuen Highlighter hinzufügen
- Subklasse von
SyntaxHighlighterinsrc/highlighter/erstellen m_rulesim Konstruktor befüllen (sieheCppHighlighterals Vorlage)- Dateiendung in
HighlighterFactory.cppregistrieren
Keine weiteren Dateien müssen geändert werden.
Neues Panel / Plugin hinzufügen
IPlugin-Interface aussrc/core/IPlugin.himplementierenQWidget-Subklasse für die UI erstellen- In
MainWindowinstanziieren und verdrahten
Code-Stil
Allman-Klammerstil, C++17 durchgehend.
Links
- Website: www.projekt-hirnfrei.de
- Discord: discord.projekt-hirnfrei.de