Files
BareCode/README.md
2026-08-13 08:58:45 +02:00

5.6 KiB

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_devel enthält auf Haiku sowohl die Header als auch die Build-Tools.


Neue Sprache hinzufügen

  1. Subklasse von SyntaxHighlighter in src/highlighter/ erstellen
  2. m_rules im Konstruktor befüllen (siehe CppHighlighter als Vorlage)
  3. Dateiendung in HighlighterFactory.cpp registrieren

Keine weiteren Dateien müssen geändert werden.


Lizenz

MIT License — Copyright (c) 2025 Dany Thinnes / Projekt Hirnfrei