Difference between revisions of "IDE Macros in paths and filenames/ru"

From Lazarus wiki
Jump to navigationJump to search
Line 30: Line 30:
 
=Общего назначения=
 
=Общего назначения=
  
* Col - текущая колонка в редакторе кода
+
* '''Col''' - текущая колонка в редакторе кода
* Row - текущая строка в редакторе кода
+
* '''Row''' - текущая строка в редакторе кода
* CurToken - текущий элемент находящийся рядом с курсором в редакторе кода
+
* '''CurToken''' - текущая лексема около курсора в редакторе кода
* EdFile - имя текущего файлв в редакторе кода
+
* '''EdFile''' - имя текущего файла в редакторе кода
* MakeExe - путь до программы 'make' (gmake для BSD)
+
* '''MakeExe''' - путь до программы 'make' (gmake для BSD)
* Params - параметры запуска текущего проекта
+
* '''Params''' - параметры запуска текущего проекта
* Prompt - запрашивает значение у пользователя. Это интерактивный макрос.
+
* '''Prompt''' - запрашивает значение у пользователя. Это интерактивный макрос.
* RunCmdLine - командная строка для запуска проекта
+
* '''RunCmdLine''' - командная строка для запуска проекта
* Save - сохраняет текущий файл в редакторе кода
+
* '''Save''' - сохраняет текущий файл в редакторе кода
* SaveAll - сохраняет всё
+
* '''SaveAll''' - сохраняет всё
* TargetCmdLine - путь до испольняемого модуля проекта и параметры запуска  
+
* '''TargetCmdLine''' - путь до испольняемого модуля проекта и параметры запуска  
  
Части имени файлов
+
=Части имени файла=
  
 
* Env(name) - макро функция для переменной окружения выданной среде разработки (IDE) (не проекту и не отладчику) (с версии 0.9.27)
 
* Env(name) - макро функция для переменной окружения выданной среде разработки (IDE) (не проекту и не отладчику) (с версии 0.9.27)
Line 52: Line 52:
 
* Path() - макро функция для ExtractFilePath  
 
* Path() - макро функция для ExtractFilePath  
  
Пути и части путей
+
=Пути и их части=
  
 
* CompPath - путь к компилятору выставленному в свойствах окружения
 
* CompPath - путь к компилятору выставленному в свойствах окружения

Revision as of 21:27, 28 May 2015

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

Имеются различные типы макросов:

  • Макросы IDE: они могут быть использованы почти во всех полях IDE, например, путях поиска, настраиваемых опциях, именах файлов, параметрах запуска. Они заменяются своими значениями перед вызовом внешних инструментов, таких, как компилятор или отладчик. Регистронезависимы.
  • Символы FPC: они либо определены (on), либо не определены (off). Передаются через опцию командной строки -d, которая может быть задана в Compiler Options / Custom Options. Например, -dDEBUG -dVerbose определит символы FPC DEBUG и Verbose, поэтому вы сможете использовать {$IFDEF Debug}. Регистронезависимы.
  • Макросы FPC: они могут быть определены, например, кодом вроде такого: {$define MYFPCMACRO:=42}. Примером предопределённого макроса является FPC_FULLVERSION.
  • Макросы сборки: это макросы IDE с ограниченной областью действия. Они определяются проектами и пакетами. Регистронезависимы.
  • Некоторые плагины IDE имеют свои собственные макросы.

Формат макросов IDE

Макросы IDE используются в следующем формате (замените macro-name на один из макросов, перечисленных ниже):

$(macro-name)


Например, такой "Каталог вывода модуля" часто используется для пакетов Lazarus:

lib/$(TargetCPU)-$(TargetOS)
  • В системе x86 Linux 32-bit это будет эквивалентно: lib/i386-linux
  • В системе x86 Linux 64-bit это будет эквивалентно: lib/x86_64-linux


Также есть некоторые макро-функции, которые используют следующий формат:

$macro_name(parameters)


Например,

$Ext(unit1.pas)

выдаст .pas.

Общего назначения

  • Col - текущая колонка в редакторе кода
  • Row - текущая строка в редакторе кода
  • CurToken - текущая лексема около курсора в редакторе кода
  • EdFile - имя текущего файла в редакторе кода
  • MakeExe - путь до программы 'make' (gmake для BSD)
  • Params - параметры запуска текущего проекта
  • Prompt - запрашивает значение у пользователя. Это интерактивный макрос.
  • RunCmdLine - командная строка для запуска проекта
  • Save - сохраняет текущий файл в редакторе кода
  • SaveAll - сохраняет всё
  • TargetCmdLine - путь до испольняемого модуля проекта и параметры запуска

Части имени файла

  • Env(name) - макро функция для переменной окружения выданной среде разработки (IDE) (не проекту и не отладчику) (с версии 0.9.27)
  • Ext() - макро функция для ExtractFileExt
  • MakeDir() - макро функция для AppendPathDelim
  • MakeFile() - макро функция для ChompPathDelim
  • Name() - макро функция для ExtractFileName
  • NameOnly() - макро функция для ExtractFileNameOnly
  • Path() - макро функция для ExtractFilePath

Пути и их части

  • CompPath - путь к компилятору выставленному в свойствах окружения
  • ConfDir - каталог где среда разработки (IDE) хранит свои собственные файлы настроек
  • ExeExt - расширение выполняемого модуля
  • FPCSrcDir - каталог с исходниками для FPC выставленными в переменных окружения
  • FPCVer - версия компилятора FPC (начиная с версии 0.9.25). Например '2.2.2'.
  • LanguageID - Язык среды разработки (IDE), например, en для английского, de для немецкого
  • LanguageName - Имя языка среды разработки (IDE), переведённое имя текущего языка. Например: Deutsch для немецкого.
  • LazarusDir - Каталог с исходниками Lazarus настроенный в переменных окружения
  • LCLWidgetType - Тип виджетов LCL текущего проекта
  • ProjFile - Полный путь до главного файла текущего проекта (.lpr)
  • ProjPath - Каталог проекта (каталог в котором располагается файл .lpi)
  • TargetFile - имя выходного файла текущего проекта (например исполняемого модуля или библиотеки)
  • TestDir - Тестовый каталог выставленный в настройках окружения
  • PkgDir() - макро функция для каталога (местонахождение файла .lpk) пакета, ID передаётся в качестве параметра
  • PkgIncPath() - макро функция для путей включения пакета, ID передаётся в качестве параметра
  • PkgOutDir() - макро функция для пути каталога вывода пакета (куда выводятся файлы ppu)
  • PkgSrcPath() - макро функция для пути с исходниками пакета, ID передаётся в качестве параметра
  • PkgUnitPath() - макро функция для путей с модулями пакета, ID передаётся в качестве параметра
  • Project() - макро функция для различных значений
    • Project(UnitPath) - пути с модулями проекта
    • Project(SrcPath) - пути с исходниками проекта
    • Project(IncPath) - пути включения для проекта
    • Project(InfoFile) - имя файла информации о проекте (.lpi) (начиная с версии r15287, 0.9.25)
    • Project(OutputDir) - каталог куда выводятся файлы ppu (начиная с версии 0.9.27)
  • ProjIncPath - пути включения для проекта
  • ProjOutDir - путь вывода для проекта (куда выводятся файлы .ppu) (начиная с версии 0.9.27)
  • ProjPublishDir - каталог куда публикуется проект
  • ProjSrcPath - пути исходников проекта
  • ProjUnitPath - пути с модулями проекта
  • SrcOS - 'unix' для linux, darwin, bsd. 'win' для win32, win64, wince
  • TargetCPU - Целевой CPU текущего проекта
  • TargetOS - Целевая OS текущего проекта