我想指定一个环境变量以在项目级别的源路径(库路径)中使用。
我们经常在不同目录中同时从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级别上执行此操作,但是我想在项目级别或存储库级别上实现相同的操作。
有人对如何实现这一目标有任何想法吗?是否有任何设置或什至允许此类功能的加载项?
您可以手动编辑项目文件(.dproj
)并在其中添加变量:
<PropertyGroup>
<MyVariableName>MyVariableContent</MyVariableName>
</PropertyGroup>
稍后,您可以引用该变量的内容:
<DCC_UnitSearchPath>C:\Components;$(MyVariableName)</DCC_UnitSearchPath>
您还可以定义一个新的环境变量(SystemPropertiesAdvanced.exe
->环境变量->添加),然后使用相同的语法引用该变量,例如:
<DCC_UnitSearchPath>C:\Components;$(PATH)</DCC_UnitSearchPath>
((请注意,在此处使用PATH
是一个非常糟糕的主意,这只是您的环境中将存在的变量的一个示例。)
您还可以使用一些cmd脚本魔术来创建指向这些子目录的环境变量,最后调用IDE,因此这些环境变量在IDE中的可用方式与全局环境变量的使用方式相同(请参阅pepak的答案)。
指针: