代码模板-Delphi版本之间的单元名称冲突

代码模板-Delphi版本之间的单元名称冲突,delphi,delphi-xe2,code-templates,Delphi,Delphi Xe2,Code Templates,不同的Delphi版本(在我的例子2007中,XE和XE2)似乎使用相同的代码模板库,例如。\Documents\RAD Studio\code\u templates。由于XE2使用名称空间的单元,因此当必须在模板中使用单元名称时,会出现问题 例如,当我编写winbeep时,我有一个模板,它完成了windows.Beep(300100)并选择和停止频率等。。除非我在uses子句中删除Winapi.部分Windows单元(当然也可以手动添加前缀),否则这不会在XE2上编译。我必须知道设备名称,否

不同的Delphi版本(在我的例子2007中,XE和XE2)似乎使用相同的代码模板库,例如
。\Documents\RAD Studio\code\u templates
。由于XE2使用名称空间的单元,因此当必须在模板中使用单元名称时,会出现问题

例如,当我编写
winbeep
时,我有一个模板,它完成了
windows.Beep(300100)并选择和停止频率等。。除非我在uses子句中删除
Winapi.
部分
Windows
单元(当然也可以手动添加前缀),否则这不会在XE2上编译。我必须知道设备名称,否则会引用
SysUtils.Beep

我找不到指定模板位置的选项项、注册表项或环境变量。它甚至与
BDSUSERDIR
无关,事实上,我的计算机中甚至没有路径为
BDSUSERDIR
(即
。\Documents\RAD Studio\9.0
)的目录。这是我的疏忽吗?事实上,有重新定位代码模板的选项吗?如果没有,是否可以在uses子句中为新表单设置IDE使用单元别名

编辑:
(我强调)“您创建的模板(以及第三方加载项提供的模板)默认保存在\My Documents\RAD Studio\code Templates\目录中。”这意味着应该有办法将它们保存在非默认位置。但是这篇文章没有提到如何编辑

正如Sertac在评论中指出的,模板库与项目模板相关,而不是与代码模板相关。保留此答案,因为它可以帮助人们寻找构建/共享/拆分项目模板存储库的方法


在Delphi XE2中,“工具”菜单下有一个“模板库”选项。打开该对话框时,会出现以下对话框:

“添加”按钮允许您添加文件夹,“属性”按钮允许您查看和管理该存储库的内容


因此,在我看来,您可以简单地复制模板库,将其更改为XE2特定的内容,然后将XE2指向其自己的存储库。或者,您可以仅对需要特定XE2单元处理的模板执行此操作。

您可以将模板放入
的“Delphi安装文件夹”\ObjRepos\en\code\u模板中,使其仅在一个Delphi版本上可见。

太棒了!将模板文件的修改版本复制到此文件夹将解决此问题。看起来Delphi正在首先读取此文件夹。谢谢谢谢Marjan,但据我所知,这与“项目模板”有关,而不是“代码模板”。看见