2cfa3103e9ddecd7f452a1e0f686fb7b837d6652
BareCode
Schlanker, modularer Code-Editor für Web-Entwickler
Version 1.1.0 — von Dany Thinnes | Projekt Hirnfrei | Discord
Entwickelt mit C++17, Qt6 und CMake.
Kompiliert auf Linux, Windows und Haiku.
Installation
Arch Linux / Manjaro (AUR)
# Mit yay
yay -S barecode
# Mit paru
paru -S barecode
# Immer aktuellster Git-Stand
yay -S barecode-git
Aus dem Quellcode bauen
Siehe Abschnitt Bauen weiter unten.
Features
Editor
| Feature | Details |
|---|---|
| Syntax-Highlighting | HTML, PHP, CSS, C/C++ — inkl. mehrzeiliger Kommentare |
| Tabs | Mehrere Dateien gleichzeitig, verschiebbar und schließbar |
| Änderungsindikator | ● im Tab-Titel bei ungespeicherten Änderungen |
| 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 |
| Farbvorschau | CSS-Farbwerte (#hex, rgb, hsl) werden inline angezeigt |
| Farbauswahl | Klick auf das Farbquadrat öffnet einen Farbauswahl-Dialog |
| Funktionssignatur | Tooltip mit Parametern beim Tippen von PHP-Funktionen |
Navigation
| Feature | Details |
|---|---|
| Projektbaum | Linkes Panel — zeigt nur das gewählte Projektverzeichnis |
| Neue Datei / Ordner | Rechtsklick im Dateibaum |
| Doppelklick-Navigation | Doppelklick auf einen Funktionsnamen springt zur Definition |
| Suchen & Ersetzen | Einzeln, Alle, In Auswahl, Regex, Live-Hervorhebung (Strg+F) |
| In Dateien suchen | Rekursive Projektsuche mit Ergebnisliste (Strg+Shift+F) |
Projektanalyse
| Feature | Details |
|---|---|
| Projektfunktionen | Alle definierten Funktionen als durchsuchbare Liste (Strg+Shift+P) |
| Tote Funktionen | Analyse ungenutzter Funktionen mit Exclude-Verzeichnissen (Strg+Shift+T) |
| Export | Analyseergebnisse als TXT exportieren |
Allgemein
| Feature | Details |
|---|---|
| Speichern | Speichern, Speichern unter, Alles speichern |
| Dark / Light Mode | Umschaltbar (Strg+Shift+D), wird gespeichert |
| Session | Geöffnete Dateien und aktiver Tab werden wiederhergestellt |
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 |
| Projektfunktionen | Strg+Shift+P |
| Tote Funktionen | Strg+Shift+T |
| Dark Mode | Strg+Shift+D |
Projektstruktur
BareCode/
├── CMakeLists.txt
├── main.cpp
├── LICENSE
├── PKGBUILD # Stabiles AUR-Paket
├── PKGBUILD-git # AUR-Paket (Git-Stand)
├── BareCode.desktop # Linux-Anwendungsmenü
├── resources/
│ ├── resources.qrc
│ ├── icon_*.png
│ └── php_functions.json
└── src/
├── core/ # MainWindow, ProjectManager, Settings,
│ # ThemeManager, AboutDialog, IPlugin
├── editor/ # EditorPanel, EditorTab, CodeEditor,
│ # SearchPanel, FileSearchPanel,
│ # ColorIndicator, SignatureHelper,
│ # FunctionScanner, FunctionIndex,
│ # FunctionListPanel, FunctionListDialog,
│ # DeadCodeAnalyzer, DeadCodeDialog
├── filetree/ # FileTreePanel
└── highlighter/ # SyntaxHighlighter, HighlighterFactory
Jedes Unterverzeichnis kompiliert als eigene statische Bibliothek — Komponenten lassen sich unabhängig austauschen und erweitern.
Abhängigkeiten & Bauen
Linux
Ubuntu / Debian:
sudo apt install cmake ninja-build qt6-base-dev qt6-base-dev-tools
Arch / Manjaro:
sudo pacman -S cmake ninja qt6-base
Bauen:
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build
./build/BareCode
Installieren:
sudo cmake --install build
Windows
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
Installer erstellen (mit Inno Setup):
windeployqt --release build\Release\BareCode.exe
Haiku
pkgman install qt6_base qt6_base_devel
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)
./build/BareCode
Getestet auf Haiku R1/beta5.
qt6_base_develenthält auf Haiku sowohl die Header als auch die Build-Tools.
Neue Sprache 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.
Lizenz
MIT License — Copyright (c) 2025 Dany Thinnes / Projekt Hirnfrei
Links
- Website: www.projekt-hirnfrei.de
- Discord: discord.projekt-hirnfrei.de
- Quellcode: git.projekt-hirnfrei.de/diabolus/BareCode
- AUR: aur.archlinux.org/packages/barecode
Languages
C++
89.2%
Shell
6.3%
CMake
3.3%
Perl
1.2%