不同的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。“这意味着应该有办法将它们保存在非默认位置。但文章没有提到如何。
答案 0 :(得分:6)
您可以将模板放在"Delphi installation folder"\ObjRepos\en\Code_Templates
中,使其仅在一个Delphi版本上可见。
答案 1 :(得分:2)
修改强>
正如Sertac在评论中指出的,模板库与项目模板有关,而不是代码模板。留下这个答案是因为它可以帮助人们寻找构建/共享/拆分项目模板库的方法。
在Delphi XE2中,“工具”菜单下有一个“模板库”选项。当你打开它时,你会看到这个对话框:
“添加”按钮允许您添加文件夹,“属性”按钮允许您查看和管理该存储库的内容。
因此,在我看来,您可以简单地复制模板库,将其更改为特定的XE2,然后将XE2指向其自己的存储库。或者,您只能对需要特定XE2单元处理的模板执行此操作。