Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>GWS BU-RAH Extension PackNew to Visual Studio Code? Get it now.
GWS BU-RAH Extension Pack

GWS BU-RAH Extension Pack

BU - RAH Extension

|
17 installs
| (0) | Free
Extension für das Projektgeschäft in der BU-RAH
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

GWS BU-RAH Extension Pack - Vollständige Funktionsdokumentation

Übersicht

Die GWS BU-RAH Extension Pack ist eine speziell für das Projektgeschäft in der BU-RAH entwickelte VS Code-Erweiterung, die verschiedene Automatisierungstools für die Arbeit mit Microsoft Dynamics 365 Business Central AL-Dateien bereitstellt.

Version: 25.8.0
Publisher: BU-RAHExtension
Kompatibilität: VS Code ^1.92.0


Standardisierungsfunktionen

1. BU-RAH: Rename Files (renameFiles)

Zweck: Automatische Umbenennung von AL-Dateien basierend auf deren Objektdefinition.

Funktionsweise:

  • Durchsucht rekursiv alle .al-Dateien im src-Verzeichnis
  • Liest die erste Zeile jeder Datei zur Objektidentifikation
  • Extrahiert Objekttyp, Nummer und Namen
  • Benennt Dateien nach dem Schema um: {ShortType}{Number}.{PascalCaseName}.al

Beispiel-Transformation:

Vorher: Beliebiger_Dateiname.al
Nachher: Pag-Ext5176832.ItemGroupEvaluationExt.al

Unterstützte Objekttypen:

  • Table → Tab
  • Page → Pag
  • Codeunit → Cod
  • Report → Rep
  • XMLport → Xml
  • Query → Que
  • Enum → Enum
  • Interface → Int
  • ControlAddIn → Ctrl
  • PageExtension → Pag-Ext
  • TableExtension → Tab-Ext
  • EnumExtension → Enum-Ext
  • ReportExtension → Rep-Ext
  • PermissionSet → Perm
  • PermissionSetExtension → Perm-Ext

2. BU-RAH: Uppercase Fix (transformKeywords)

Zweck: Modernisiert AL-Code durch Umwandlung veralteter Großbuchstaben-Keywords in moderne camelCase-Syntax.

Transformierte Keywords:

IF → if               THEN → then
BEGIN → begin         END → end  
EXIT → exit           LOCAL → local
PROCEDURE → procedure ELSE → else
REPEAT → repeat       UNTIL → until
FINDSET → FindSet     FINDFIRST → FindFirst
TRUE → true           FALSE → false
NOT → not             WITH → with
DO → do               GET → Get
INSERT → Insert       DELETE → Delete
MODIFY → Modify       UPDATE → Update

Funktionsweise:

  • Verwendet reguläre Ausdrücke mit Wortgrenzen (\b) für präzise Ersetzung
  • Verarbeitet alle .al-Dateien rekursiv
  • Erhält Code-Funktionalität bei verbesserter Lesbarkeit

Vorher/Nachher Beispiel:

// Vorher
IF Customer.GET(CustomerNo) THEN BEGIN
    Customer.MODIFY(TRUE);
END;

// Nachher  
if Customer.Get(CustomerNo) then begin
    Customer.Modify(true);
end;

3. BU-RAH: Transform Permission IDs (transformPermissionIDs)

Zweck: Automatische Transformation von Tabellen-IDs in Permission Sets basierend auf einer Excel-Mapping-Tabelle.

Funktionsweise:

  • Lädt Mapping-Daten aus resources/table_map.xlsx
  • Sucht in allen .al-Dateien nach Permissions-Blöcken
  • Ersetzt numerische Tabellen-IDs durch Objektnamen
  • Verwendet Excel-Datei als Referenz für ID-zu-Name Zuordnung

Excel-Struktur:

  • Spalte A: Tabellen-ID (numerisch)
  • Spalte B: Tabellenname (String)

Transformation Beispiel:

// Vorher
Permissions = tabledata 18 = RIMD,
              tabledata 27 = RIMD;

// Nachher  
Permissions = tabledata "Customer" = RIMD,
              tabledata "Item" = RIMD;

4. BU-RAH: Upgrade Extension (upgradeExtension)

Zweck: Erstellt eine neue Version der Extension für BC-Upgrades mit zwei Modi.

Modus 1: Neuer Ordner

Funktionsweise:

  • Kopiert das gesamte Projekt in einen neuen versionsspezifischen Ordner (Format: BC{MajorVersion})
  • Aktualisiert die app.json mit der neuen BC-Version
  • Leert den .alpackages Ordner
  • Kopiert passende Symbol-Dateien aus dem Netzwerk
  • Optional: Wechselt das VS Code Fenster zum neuen Ordner

Modus 2: Neuer Git-Branch

Funktionsweise:

  • Wählt einen bestehenden Branch für Checkout aus
  • Erstellt einen neuen Git-Branch mit automatischer Namensgebung: Individual-Extension/{version}/{checkoutBranch}
  • Branch-Name ist editierbar vor der Erstellung
  • Führt die gleichen Aktualisierungen durch wie im Ordner-Modus
  • Behält die Git-Historie bei

Verfügbare Versionen:

  • BC 21.0.0.0
  • BC 22.0.0.0
  • BC 23.0.0.0
  • BC 25.0.0.0

Symbol-Management:

  • Automatisches Kopieren von BC-Symbolen aus Netzwerkpfaden
  • Unterstützung für verschiedene BC-Versionen
  • System.app wird aus dem neuesten Hotfix-Ordner kopiert
  • Fehlerbehandlung bei fehlenden Netzwerkressourcen

Branch-Naming Beispiel:

Ausgewählte Version: 25.0.0.0
Checkout Branch: main
Vorgeschlagener Name: Individual-Extension/25.0/main

5. BU-RAH: Pull Auslieferungsversion (pullAuslieferungsversion)

Zweck: Eigenständige Funktion zum Aktualisieren der Symbol-Dateien ohne komplettes Upgrade.

Funktionsweise:

  • Wählt die gewünschte BC-Version aus
  • Leert den .alpackages Ordner vollständig
  • Lädt die entsprechenden Symbol-Dateien aus dem Netzwerk:
    • Microsoft_System Application.app
    • gevis-r-only-onprem.app
    • GWS mbH_gevis-erp_*.app
  • Kopiert System.app aus dem neuesten Hotfix wenn verfügbar

Netzwerk-Pfade (versionsspezifisch):

  • BC 21: \\gws-muenster.local\Daten\gevis\Releases\gevis\_R21\R21_5_2000_0_freigegeben
  • BC 22: \\gws-muenster.local\Daten\gevis\Releases\gevis\_R22\R22_5_2000_0_freigegeben
  • BC 23: \\gws-muenster.local\Daten\gevis\Releases\gevis\_R23\R23.5.5000.0
  • BC 25: \\gws-muenster.local\Daten\gevis\Releases\gevis\_R25\R25.8.x Auslieferungsversion

Anwendungsfälle:

  • Schnelle Symbol-Aktualisierung ohne Projekt-Kopie
  • Wechsel zwischen verschiedenen BC-Versionen
  • Reparatur beschädigter Symbol-Dateien

6. BU-RAH: Standardize Repository (standardizeRepo)

Zweck: Kombinierte Ausführung mehrerer Standardisierungsfunktionen in einem Durchgang.

Ausgeführte Operationen:

  1. BU-RAH: Rename Files - Dateiumbenennung
  2. BU-RAH: Uppercase Fix - Keyword-Modernisierung
  3. BU-RAH: Transform Permission IDs - Permission-Transformation

Nutzen:

  • Zeitersparnis durch Batch-Verarbeitung
  • Konsistente Anwendung aller Standardisierungsregeln
  • Ideal für neue Projekte oder Code-Reviews

Dokumentationsfunktionen

1. BU-RAH: Generate Documentation (generateDocumentation)

Zweck: Automatische Erstellung einer strukturierten README.md basierend auf AL-Code-Analyse.

AI-Unterstützte Analyse:

  • Erkennt alle AL-Objekttypen (Table, Page, Codeunit, etc.)
  • Identifiziert logische Zusammenhänge zwischen Objekten
  • Gruppiert verwandte Komponenten zu Business-Themen
  • Erstellt hierarchische Dokumentationsstruktur

Generierte Dokumentation:

# Dokumentation der AL Extension

## Übersicht
- Name der Extension: [Automatisch erkannt]
- Version: [Aus app.json]
- Nummernkreis: [Analysiert aus Objekten]
- Hauptthemen: [Business-Logik gruppiert]

## Themenbereiche
### [Thema 1: z.B. Verkaufsprozess-Erweiterung]
**Beteiligte Komponenten:**
- Table: [Automatisch erkannt]
- Page: [Automatisch erkannt]
- Codeunit: [Automatisch erkannt]

**Beschreibung:**
[AI-generierte Business-Logik Beschreibung]

Analyse-Algorithmus:

  • Erkennt SourceTable-Beziehungen zwischen Pages und Tables
  • Identifiziert TableRelations und Referenzen
  • Gruppiert Objekte nach funktionalen Zusammenhängen
  • Erstellt Business-orientierte Beschreibungen

2. BU-RAH: Extract FirstLine (extractFirstLine)

Zweck: Extrahiert die erste Zeile aller AL-Dateien zur schnellen Übersicht über Objektdefinitionen.

Funktionsweise:

  • Sammelt alle .al-Dateien im Workspace
  • Liest die erste Zeile jeder Datei
  • Erstellt eine docu.txt Datei im Workspace-Root
  • Leere Dateien werden als [Datei ist leer] markiert

Ausgabeformat:

table 50100 "Customer Extension"
page 50101 "Sales Order Enhancement" 
codeunit 50102 "Utility Functions"

Anwendungsfälle:

  • Schnelle Inventarisierung aller Objekte
  • Überprüfung der Nummerkreise
  • Dokumentationserstellung

Beta Funktionen

1. BU-RAH: CherryPicker (openCherryPickTab)

Zweck: Grafische Benutzeroberfläche für selective Git-Commits zwischen Branches.

Features:

  • Webview-Interface mit modernem Design
  • Commit-Browser mit Paginierung (10 Commits pro Seite)
  • Branch-Auswahl (alle lokalen Branches außer dem aktuellen)
  • Multi-Selection für Commits und Ziel-Branches
  • Batch-Operations für effizientes Cherry-Picking

Benutzeroberfläche:

  • Commit-Liste: Datum, Autor, Hash, Nachricht
  • Branch-Liste: Checkbox-Auswahl für Ziel-Branches
  • Aktions-Buttons: Cherry-Pick, Clear Selection
  • Status-Anzeige: Erfolg/Fehler-Feedback

Workflow:

  1. Commits aus der Historie auswählen
  2. Ziel-Branches markieren
  3. Cherry-Pick Operation ausführen
  4. Automatisches Logging in Output Channel

Git-Integration:

  • Verwendet simple-git Library
  • Unterstützt komplexe Git-Operationen
  • Fehlerbehandlung für Merge-Konflikte

Code-Snippets

Die Extension bietet vorgefertigte Code-Templates für häufig verwendete AL- und JSON-Strukturen.

AL-Snippets

Codeunit Template (codeunit)

Auslöser: codeunit + Tab
Generiert:

codeunit {5176800:5176850} "MyCodeunit"
{
    /// <summary>
    /// Description
    /// </summary>

    trigger OnRun()
    begin
    end;

    procedure MyProcedure()
    begin
        [Cursor]
    end;
}

JSON-Snippets

Launch.json Template (al-launch-json)

Auslöser: al-launch-json + Tab
Generiert: Komplette VS Code Launch-Konfiguration für AL-Debugging mit:

  • AL-spezifische Einstellungen
  • Editierbare Platzhalter für Projektname, Server und ServerInstance
  • Vorkonfigurierte Standard-Ports und Authentifizierung

App.json Template (al-app-json)

Auslöser: al-app-json + Tab
Generiert: Vollständige AL-App-Manifest mit:

  • Editierbare Platzhalter für ID, Name/Brief und Version
  • Automatisch synchronisierte Name- und Brief-Felder
  • Vorkonfigurierte Dependencies (System Application, gevis-erp, gevis-r-only-onprem)
  • Standard BU-RAH ID-Ranges (5176800-5176849)

Einzelne Launch-Konfiguration (al-config)

Auslöser: al-config + Tab
Generiert: Einzelne Konfiguration für bestehende launch.json Dateien

Snippet-Navigation:

  • Tab: Nächster Platzhalter
  • Shift+Tab: Vorheriger Platzhalter
  • Escape: Snippet-Modus verlassen

Installation & Verwendung

Installation

  1. VSIX-Datei herunterladen: bu-rah-extension-pack-25.8.1.vsix
  2. In VS Code: Ctrl+Shift+P → "Extensions: Install from VSIX..."
  3. Extension automatisch nach Installation aktiviert

Zugriff auf Funktionen

Befehlspalette: Ctrl+Shift+P → "BU-RAH:" + gewünschte Funktion

Verfügbare Commands

  • BU-RAH: Rename Files
  • BU-RAH: Extract FirstLine
  • BU-RAH: Upgrade Extension
  • BU-RAH: Uppercase Fix
  • BU-RAH: Transform Permission IDs
  • BU-RAH: Standardize Repository
  • BU-RAH: CherryPicker
  • BU-RAH: Generate Documentation
  • BU-RAH: Pull Auslieferungsversion

Systemvoraussetzungen

  • VS Code ^1.92.0
  • Git (für CherryPicker und Upgrade-Funktionen)
  • Netzwerkzugriff zu GWS-Servern (für Symbol-Downloads)
  • Node.js Dependencies: simple-git, xlsx

Workspace-Struktur

Projekt/
├── .vscode/
│   └── launch.json
├── src/
│   └── *.al Dateien
├── app.json
├── .alpackages/
└── resources/
    └── table_map.xlsx
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft