从Visual Studio Code构建Delphi项目



我已经通过FPC和GDB在Visual Studio Code中为Object Pascal设置了构建和调试环境,但我只是通过

"command": "fpc",
"args": [ "-g", "-Px86_64", "helloWorld.pas" ],

现在,我需要构建相当大的Delphi项目组(类似于解决方案?),它包含主项目文件.groupproj。

有没有办法以某种方式通过FPC构建.groupproj?
或者至少一些解决方法,例如转换为 .lpi,然后通过 FPC 构建?
或者至少从VS Code调用Delphi编译器/构建器并通过它构建整个项目组?(但我不喜欢这个选项,因为我不喜欢使用德尔福)

为了向可能偶然发现这一点的其他人直接获取一些事实:

  • FPC支持Delphi源文件(.lpr/.dpr,.pp/.pas和.inc)。不是Delphi元信息(.dproj/.dof/.bpg/.cfg/.groupproj),无论如何都是Delphi版本的依赖。
  • Lazarus转换工具也可以转换.dfms。基本上它是一个.dfm清理器和使用子句增强器,就像Delphi版本之间的一些转换工具一样。然而,默认情况下,它也会进行替换,将Delphi代码(在FPC的Delphi(-Sd)模式下工作)更改为Lazarus首选的objfpc方言(-S2模式)。在尝试之前,请务必进行备份,并彻底检查转换工具的配置。
  • FPC 和 Delphi 命令行参数不同。
  • FPC 不支持 Lazarus 元数据格式,如 .lpi。然而,Lazarus实用程序Lazbuild确实支持从命令行构建Lazarus项目。

但幸运的是,基础知识是一样的

  1. 主程序或库文件文件)
  2. 一组单元(.pas 文件)和包含目录(.inc 文件)。FPC区分了这两者,德尔福没有。
  3. 必须将自动创建的表单添加到项目中。
  4. 任何其他命令行开关,如定义设置、范围检查优化选项。

因此,在最坏的情况下,检查Delphi项目(在IDE或文本编辑器中)的目录和开关,并创建手动构建脚本或lazarus(.lpi)项目。

但是,重要的是要记住,默认的FPC模式不是德尔福模式,因此在执行FPC时,请确保手动启用德尔福模式(-Sd)

Lazarus中的小组项目支持是非常新的(就像几个月一样),而且afaik甚至还没有稳定版本。不过,如果您创建一堆 .lpis,则在 .lpis 上带有一系列 lazbuild 命令的批处理文件/shellscript 可能会做到这一点。

附言将VSCode扔到公共汽车下面并使用拉撒路。