IDE Macros in paths and filenames/de

From Free Pascal wiki

Deutsch (de) English (en) español (es) français (fr) 日本語 (ja) português (pt) русский (ru)

Macros verwenden das folgende Format. Dabei wird macro-name durch eines der unten aufgelisteten Macros ersetzt.

$(macro-name)

Beispiel: Dieses Format gibt das Ausgabeverzeichnis für Units an. Es wird häufig für Lazarus Packages benutzt:

lib/$(TargetCPU)-$(TargetOS)

unter einem x86 Linux 32-bit System würde daraus: lib/i386-linux
unter einem x86 Linux 64-bit System würde daraus: lib/x86_64-linux

Es gibt auch einige Macrofunktionen die folgendes Format verwenden:

$macro_name(parameters)

Beispiel:

$Ext(unit1.pas)

liefert die Dateierweiterung .pas.


Allgemeine Verwendung

  • Col - aktuelle Spalte im Quelltexteditor
  • Row - aktuelle Zeile im Quelltexteditor (Bildschirm, kann von der Byte-Position abweichen aufgrund von Tabulatoren und UTF-8)
  • CurToken - aktuelles Element unter dem Kursor im Quelltexteditor
  • EdFile - aktueller Dateiname im Quelltexteditor
  • Params - Startparameter des aktuellen Projekts
  • Prompt - fragt den Benutzer nach einem Wert. Dies ist ein interaktives Makro.
  • RunCmdLine - der Befehl zum Starten des Projekts
  • Save - speichert die aktuelle Datei im Quelltexteditor
  • SaveAll - Alles speichern
  • TargetCmdLine - das Projekt-executable plus Startparameter

Dateinamen und Teile davon

  • Ext(filename) - Makrofunktion für ExtractFileExt
  • MakeDir(filename) - Makrofunktion für AppendPathDelim
  • MakeFile(filename) - Makrofunktion für ChompPathDelim
  • MakeExe(filename) - ändert die Dateierweiterung nach .exe unter Windows, nichts unter Linux, BSD, OS X
  • MakeLib(filename) - ändert die Dateierweiterung nach .dll unter Windows, unter Linux/BSD nach libname.so (kleingeschrieben), unter OS X nach libname.so (seit Version 0.9.29)
  • Name(filename) - Makrofunktion für ExtractFileName
  • NameOnly(filename) - Makrofunktion für ExtractFileNameOnly
  • Path(filename) - Makrofunktion für ExtractFilePath

Pfade und Teile davon

  • Env(name) - Makrofunktion für an die IDE übergebene Umgebungsvariablen (nicht an Projekt oder Debugger) (siehe GetEnvironmentVariableUTF8) (seit Version 0.9.27)
  • CompPath - Compilerpfad gesetzt in den Umgebungseinstellungen. Kann nicht das Makro FPCVer benutzen, aber Sie können die Makros LazarusDir und Env benutzen.
  • ConfDir - Verzeichnis in dem die IDE ihre Konfigurationsdateien speichert
  • ExeExt - ausführbare Dateierweiterung für das Betriebssytem, unabhängig vom Ziel-OS des Projektes. Für die Erweiterung für das Ziel-OS des aktuellen Projekts verwenden Sie $MakeExe().
  • FPCSrcDir - FPC Quellverzeichnis gesetzt in den Umgebungseinstellungen
  • FPCVer - FPC Version (seit 0.9.25). Zum Beispiel '2.4.2'. Diese Version stammt von dem Compiler $(CompPath), dessen Pfad in den Umgebungseinstellungen gesetzt ist.
  • LanguageID - IDE Sprache, zum Beispiel en für Englisch, de für Deutsch
  • LanguageName - IDE Sprachname, der übersetzte Name der aktuellen Sprache. Zum Beispiel: Deutsch für german.
  • LazarusDir - Lazarus Quellverzeichnis gesetzt in den Umgebungseinstellungen. Keine Makros erlaubt.
  • LCLWidgetType - LCL widgetset des aktuellen Projekts
  • ProjFile - der vollständige Dateiname der Hauptquelldatei des aktuellen Projekts (.lpr)
  • ProjPath - das Projektverzeichnis (das Verzeichnis der .lpi Datei)
  • TargetFile - die Ausgabedatei des aktuellen Projekts (z.B. das executable oder die Bibliothek)
  • TestDir - Testverzeichnis gesetzt in den Umgebungseinstellungen
  • SrcOS - 'unix' für Linux, Darwin, BSD. 'win' für win32, win64, wince
  • TargetCPU - Ziel CPU des aktuellen Projekts. Im Makefile: %(CPU_TARGET)
  • TargetOS - Ziel OS des aktuellen Projekts. Im Makefile: %(OS_TARGET)
  • LCLWidgetType - LCL Widgettyp des aktuellen Projekts. Im Makefile: %(LCL_PLATFORM)
  • Make - Pfad zum 'make' Programm (gmake unter BSD) (seit Version 0.9.29)
  • ProjIncPath - Includepfad des Projektverzeichnisses
  • ProjOutDir - Pfad des Projekt-Ausgabeverzeichnisses (z.B. wo die .ppu Dateien erzeugt werden) (seit 0.9.27)
  • ProjPublishDir - Verzeichnis für Veröffentlichung des aktuellen Projekts
  • ProjSrcPath - Quellpfad des Projektverzeichnisses
  • ProjUnitPath - Unitpfad des Projektverzeichnisses
  • Project(param) - Makrofunktion für verschiedene Werte:
    • Project(UnitPath) - Unitpfad des Projektverzeichnisses
    • Project(SrcPath) - Quellpfad des Projektverzeichnisses
    • Project(IncPath) - Includepfad des Projektverzeichnisses
    • Project(InfoFile) - Dateiname der .lpi Datei (seit Revision 15287, 0.9.25)
    • Project(OutputDir) - Verzeichnis, in dem die Projekt ppu Dateien angelegt werden (seit 0.9.27)
  • Package macros - diese können in den Feldern eines Packages stehen. Zum Beispiel in den Suchpfaden von einem Package. Um sie woanders einzusetzen übergeben Sie einen Packagenamen als Parameter.
    • PkgDir() - Makrofunktion für das Verzeichnis (Ort der .lpk Datei) einer als Parameter übergebenen Package ID
    • PkgIncPath(id) - Makrofunktion für den Includepfad einer als Parameter übergebenen Package ID
    • PkgOutDir(id) - Makrofunktion für das Ausgabeverzeichnis eines Packages (d.h. wo die .ppu Dateien erzeugt werden)
    • PkgSrcPath(id) - Makrofunktion für den Quellpfad einer als Parameter übergebenen Package ID
    • PkgUnitPath(id) - Makrofunktion für den Unitpfad einer als Parameter übergebenen Package ID
  • IDEBuildOptions - die Extra-Options des 'Configure Build Lazarus' Dialogs (seit Version 0.9.29). Im Makefile leer.
  • PrimaryConfigPath - das Verzeichnis der IDE Konfigurationsdateien (seit Version 0.9.31)
  • SecondaryConfigPath - das Verzeichnis der IDE Konfigurations-Vorlagen (seit Version 0.9.31)
  • FallbackOutputRoot - das Verzeichnis wo die IDE die .ppu Dateien ablegt, wenn das Ausgabeverzeichnis schreibgeschützt ist. Vorgabe: $(PrimaryConfigPath)/lib. Seit Version 0.9.31.