源路径中的项目级别环境变量

问题描述 投票:1回答:2

我想指定一个环境变量以在项目级别的源路径(库路径)中使用。

我们经常在不同目录中同时从SVN信息库中检出几个版本,我想在项目级别用相对术语指定项目的信息库根目录。然后,我可以在项目的源路径中使用该路径,而不必在路径中包含难以理解的点斜杠(..\)。

例如,说我已经签出中继到c:\projects\trunk。然后在下面的<repositoryroot>\Foo\Bar\下的trunk中有一个项目,该项目使用<repositoryroot>\components\external\Spring4d下的Delphi Spring框架。我最终在搜索路径中有一堆目录,开头是..\..\External\Spring4D\Source。例如..\..\External\Spring4D\Source\Base\Collections。我希望能够使用${Spring4D}代替,生成${Spring4D}\Base\Collections\,这要少得多的麻烦,这意味着如果您移动项目或组件,则可以更改一个值并更新所有路径。

我知道您可以通过在Delphi的环境变量中指定路径来在Delphi级别上执行此操作,但是我想在项目级别或存储库级别上实现相同的操作。

有人对如何实现这一目标有任何想法吗?是否有任何设置或什至允许此类功能的加载项?

delphi delphi-10.2-tokyo
2个回答
1
投票

您可以手动编辑项目文件(.dproj)并在其中添加变量:

<PropertyGroup>
  <MyVariableName>MyVariableContent</MyVariableName>
</PropertyGroup>

稍后,您可以引用该变量的内容:

<DCC_UnitSearchPath>C:\Components;$(MyVariableName)</DCC_UnitSearchPath>

您还可以定义一个新的环境变量(SystemPropertiesAdvanced.exe->环境变量->添加),然后使用相同的语法引用该变量,例如:

<DCC_UnitSearchPath>C:\Components;$(PATH)</DCC_UnitSearchPath>

((请注意,在此处使用PATH是一个非常糟糕的主意,这只是您的环境中将存在的变量的一个示例。)


0
投票

您还可以使用一些cmd脚本魔术来创建指向这些子目录的环境变量,最后调用IDE,因此这些环境变量在IDE中的可用方式与全局环境变量的使用方式相同(请参阅pepak的答案)。

指针:

  • %0是当前cmd文件的名称
  • tilde用于文件名部分
© www.soinside.com 2019 - 2024. All rights reserved.