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

时间:2012-04-13 01:14:36

标签: delphi delphi-xe2 code-templates

不同的Delphi版本(在我的情况下是2007,XE和XE2)似乎使用相同的代码模板存储库,例如..\Documents\RAD Studio\code_templates。由于XE2使用命名空间单元,因此当必须在模板中使用单元名称时,这会导致问题。

例如,当我写winbeep并完成windows.Beep(300, 100);并选择并停止频率等时,我有一个模板。除非我删除Winapi.部分,否则不会在XE2上编译uses子句中的Windows单元(或者当然是手动添加前缀)。我必须有单位名称,否则SysUtils.Beep被引用。

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

修改
Here声明(我强调)“您创建的模板(以及第三方加载项提供的模板)默认保存 \ My Documents \ RAD Studio \ code templates \ directory。“这意味着应该有办法将它们保存在非默认位置。但文章没有提到如何。

2 个答案:

答案 0 :(得分:6)

您可以将模板放在"Delphi installation folder"\ObjRepos\en\Code_Templates中,使其仅在一个Delphi版本上可见。

答案 1 :(得分:2)

修改

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


在Delphi XE2中,“工具”菜单下有一个“模板库”选项。当你打开它时,你会看到这个对话框:

enter image description here

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

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