IDE Macros in paths and filenames/es

From Lazarus wiki
Jump to navigationJump to search

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

Tipos de Macros

Hay varios tipos de macros:

  • IDE macros: pueden usarse en casi todos los campos del IDE, e.g. rutas de búsqueda, opciones personalizadas, nombres de archivos, parámetros de ejecución. Se reemplazan con sus valores antes de llamar herramientas externas tal como el compilador o el depurador. Se puede usar mayúsculas y minúsculas.
  • FPC symbols: son definidos (on) o indefinidos (off). Se pasan via la opción de línea de comando -d, la cual puede escogerse bajo Opciones de Compilador / Opciones Personalizadas. Por ejemplo, -dDEBUG -dVerbose definirá los símbolos DEBUG y Verbose, así que puede usar {$IFDEF Debug}. Puede usarse mayúsculas y minúsculas.
  • FPC macros: se especifican p.e. vía código como {$define MYFPCMACRO:=42}. Un ejemplo de macro predefinico es FPC_FULLVERSION.
  • Build macros: son macros IDE con un alcance limitado. Se definen por proyectos y paquetes y se usan mayúsculas y minúsculas.
  • Algunos plugins del IDE tienen sus propios macros.


   Las macros IDE se usan mediante el siguiente formato. Reemplace la parte nombre-macro con una de las macros enumeradas más abajo.

 $(nombre-macro)

   Por ejemplo: Este directorio de salida de la unidad (-FU) es utilizado en los paquetes Lazarus:

 lib/$(TargetCPU)-$(TargetOS)

   que en un sistema Linux x86 32 bits equivaldría a: lib/i386-linux
   que en un sistema Linux x86 64 bits equivaldría a: lib/x86_64-linux

   También hay algunas funciones macro que utilizan el formato siguiente:

 $nombre_macro(parámetros)

   Por ejemplo

 $Ext(unidad1.pas)

   devolverá .pas.


Windows: Compilar a un disco RAM (R:) donde cada proyecto tenga su propio directorio de unidad (Proyecto > Opciones > Directorio de Salida de Unidad)

 R:\FPC\$NameOnly($(ProjFile))


MacOS: Un ejemplo más complejo pero muy útil, es cuando quiera compilar un archivo por su nombre $NameOnly($(ProjFile)) en una plataforma específica -$(TargetCPU) guardando el ejecutable en la ruta del paquete .app/Contents/MacOS/

$NameOnly($(ProjFile))-$(TargetCPU).app/Contents/MacOS/$NameOnly($(ProjFile))-$(TargetCPU)

Propósito General

  • Col - columna actual en el editor de código fuente
  • Row - línea actual en el editor de código fuente
  • CurToken - símbolo actual en el cursor en el editor de código fuente
  • EdFile - nombre de archivo del actual en el editor de código fuente
  • Params - parámetros de ejecución del proyecto actual
  • Prompt - solicitar al usuario un valor. Se trata de una macro interactiva.
  • RunCmdLine - el comando para lanzar el proyecto
  • Save - guardar archivo actual del editor de código fuente
  • SaveAll - guardar todo
  • TargetCmdLine - el proyecto ejecutable y los parámetros de ejecución

Partes de Nombre de Archivo

  • Ext(nombreArchivo) - función macro para ExtractFileExt
  • MakeDir(nombreArchivo) - función macro para AppendPathDelim
  • MakeFile(nombreArchivo) - función macro para ChompPathDelim
  • MakeExe(nombreArchivo) - añade .exe en Windows, nada en Linux, BSD, OS X
  • MakeLib(nombreArchivo) - cambia la extensión a .dll en Windows, en Linux/BSD la cambia a libname.so, en OS X a libname.so (since 0.9.29)
  • Name(nombreArchivo) - función macro para ExtractFileName
  • NameOnly(nombreArchivo) - función macro para ExtractFileNameOnly
  • Path(nombreArchivo) - función macro para ExtractFilePath

Rutas y sus componentes

  • Env(nombre) - función macro para las variables de entorno dado a la IDE (no proyecto ni depurador) (ver GetEnvironmentVariableUTF8) (desde 0.9.27)
  • CompPath - la ruta del compilador en las opciones de entorno del IDE
  • ConfDir - directorio donde el IDE almacena sus archivos de configuración
  • ExeExt - extensión de archivo ejecutable para el sistema de trabajo, independiente del sistema operativo objetivo del proyecto. Para extraer la extensión para el SO objetivo utilizar $MakeExe()
  • FPCSrcDir - el directorio de las fuentes de FPC en las opciones de entorno del IDE
  • FPCVer - versión de FPC (desde 0.9.25). Por ejemplo '2.2.2'. Esta versión se obtiene del compilador $(CompPath), ruta que configura en las opciones de entorno del IDE.
  • FPCMsgFile - archivo de mensajes del compilador según las opciones de entorno(since 0.9.31).
  • InstantFPCCache - ruta a instantfpccache. Salida de la ejecución de instantfpc --get-cache (since 0.9.31).
  • LanguageID - idioma del IDE, por ejemplo, 'en' para Inglés, 'de' para alemán
  • LanguageName - nombre del idioma del IDE, el nombre traducido de la lengua actual. Por ejemplo: Deutsch para alemán.
  • LazarusDir - el directorio de las fuentes de Lazarus en las opciones de entorno del IDE
  • LCLWidgetType - los artilugios gráficos LCL del proyecto actual
  • ProjFile - el nombre completo de la fuente principal del proyecto actual (.lpr)
  • ProjPath - la ruta del directorio del proyecto (el directorio del archivo .lpi)
  • TargetFile - el archivo de resultados del proyecto actual (por ejemplo, el ejecutable o la librería)
  • TestDir- directorio de pruebas establecido en las opciones de entorno del IDE
  • Macros de paquete - estas pueden ser usadas en los campos de un paquete. Por ejemplo, en las rutas de búsqueda de un paquete. Para usarlos en otros lugares será necesario dar un nombre de paquete como parámetro.
    • $(PkgName) - en un paquete da su nombre (desde 0.9.31)
    • $PkgName(id) - función macro para el nombre del paquete para el id pasa como parámetro (desde 0.9.31)
    • $(PkgDir) - macro para el directorio (ubicación del .lpk) del paquete
    • $PkgDir(id) - función macro para el directorio (ubicación de la lpk.) del ID de paquete pasado como parámetro
    • $PkgIncPath(id) - función macro para la ruta de inclusión del ID de paquete pasado como parámetro
    • $PkgOutDir(id) - Función macro para el directorio de salida de un paquete (por ejemplo, donde se crean los archivos .ppu)
    • $PkgSrcPath(id) - Función macro para la ruta de origen del ID de paquete pasado como parámetro
    • $PkgUnitPath(id) - función macro para la ruta de la unidad del ID de paquete pasado como parámetro
  • Project(parámetro) - función macro para varios valores
    • Project(UnitPath) - ruta del directorio de unidades del proyecto
    • Project(SrcPath) - ruta del directorio de fuentes del proyecto
    • Project(IncPath) - ruta de directorios de inclusión del proyecto
    • Project(InfoFile) - el nombre del archivo de información del proyecto (.lpi) (desde r15287, 0.9.25)
    • Project(OutputDir) - directorio donde los archivos .ppu del proyecto se crean (desde 0.9.27)
  • ProjIncPath - ruta de directorios de inclusión del proyecto
  • ProjOutDir - ruta del directorio de salida del proyecto(por ejemplo, donde se crean los archivos .ppu) (desde 0.9.27)
  • ProjPublishDir - directorio de publicación del proyecto actual
  • ProjSrcPath - ruta del directorio de fuentes del proyecto
  • ProjUnitPath - ruta del directorio de unidades del proyecto
  • SrcOS - 'unix' para linux, darwin, bsd. 'win' para win32, win64, wince. Desde 0.9.31: Usa $SrcOS(SomeOS) para obtener el SrcOS de un SO específico, por ejemplo $SrcOS($TargetOS(IDE)) para obtener el SrcOS del ejecutable del IDE.
  • TargetCPU - CPU objetivo del proyecto actual. En Makefile: %(CPU_TARGET). desde 0.9.31: Usa $TargetCPU(IDE) para obtener la CPU del ejecutable del IDE.
  • TargetOS - OS objetivo del proyecto actual. En Makefile: %(OS_TARGET). desde 0.9.31: Usa $TargetOS(IDE) para obtener el SO del ejecutable del IDE.
  • Make - ruta de acceso a la utilidad make (gmake en BSD) (desde 0.9.29)
  • IDEBuildOptions - opciones adicionales del diálogo Configurar "Construir Lazarus" (desde el 0.9.29)
  • LCLWidgetType - tipo de LCL widget del proyecto actual. En Makefile: %(LCL_PLATFORM)
  • IDEBuildOptions - opciones extras del diálogo 'Configurar Construcción de Lazarus' (desde 0.9.29). En Makefile vacío.
  • PrimaryConfigPath - ruta del directorio de los archivos de configuración del IDE (desde 0.9.31)
  • SecondaryConfigPath - directorio de las plantillas de configuración del IDE (desde 0.9.31)
  • FallbackOutputRoot - directorio donde el IDE pondrś los archivos ppu si no se puede escribir en el directorio de salida del paquete. Predeterminado: $(PrimaryConfigPath)/lib. Desde 0.9.31.