【问题标题】:Setting Unit Defaults?设置单位默认值?
【发布时间】:2011-09-17 11:20:52
【问题描述】:

不是这样的编程问题,但是..

..Delphi IDE 有没有办法定义将应用于新创建的单元的信息?

例如,假设我希望每个新单元在顶部添加一些注释信息,如下所示:

我喜欢将此类信息添加到 Units 中,以便其他可能需要访问它的人获得一些简要信息。显然我不希望 IDE 填写概览信息。

我注意到一些开源组件在单元顶部包含许可证信息,我假设它们只是复制和粘贴在那里,但如果有办法自动化这种 IDE 行为不是很方便吗?

此外,我在我的库路径中添加了一些外部单元,我在需要时将它们添加到表单/单元的使用条款中。我发现自己经常使用一个特定的单元,将 X 单元自动包含到新单元的使用条款中也很方便。

做这样的事情有诀窍吗,还是复制粘贴就足够了?

谢谢。

【问题讨论】:

  • 您很快就接受了第一个答案。让其他人也有一些时间来回答可能是值得的。与单个答案相比,这将为您的问题提供更多反馈。哦,对这个问题 +1。
  • @Smasher +1 我同意,几分钟后不要接受第一个答案,让问题酝酿一下
  • 好的,我没有回答。我这么快就接受了,因为我相信大卫回答了我的想法,我要求确定是否有可能的方法,

标签: delphi ide


【解决方案1】:

您必须坚持复制/粘贴。如果有一种巧妙的方法可以做到这一点,那么地球上的每个 Delphi 程序员都会使用它来实现这一点

type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

进入这个

type
  TForm1 = class(TForm)
  end;

【讨论】:

  • 我猜是的。我一直想知道有没有办法删除私有/公共声明并在需要时自己添加它们 - 猜你也回答了。谢谢。
  • @David:添加一个新单元不是很频繁?有趣的。我想这就是我们为自己的专家添加“添加新单元”的原因?诚然,它也可以将它添加到源代码控制中(所以我们不会忘记并破坏构建),但它还添加了标题、标准使用子句、我们的包含文件,有点东西......即使很方便我们只像使用它......哦,不知道取决于我在做什么......
  • @Marjan:同意。这可能取决于项目以及项目已经“建立”的程度,但我非常频繁地创建新单位。
  • @Smasher @Marjan 另一方面,也许不是每个人的工作模式都和我一样!!
  • @David - 您可以通过修改 RCDATA 中的 'delphivclide###.bpl'、'VCLIDECMD' 资源来永久删除 private/public 部分。模板由| 分隔。新表单的模板是 D2007 的第 4 个模板。
【解决方案2】:

最接近的方法是使用GExpertsCNPack。这些是很棒的 IDE 增强功能,它们可用于使用简单的热键粘贴可配置的代码片段。在 GExperts 中,这称为 Code Librarian,CNPack 具有类似的功能。它们包含许多其他有价值的工具,因此可能值得一试。

【讨论】:

  • +1,我以前使用过 GExperts,但发现它相当有问题(至少重命名组件工具是)。我应该看看他们提供的额外工具。
  • @Craig,直接去 CnPack,他们现在更优秀了。唯一的缺点(至少对我来说)是中文的 cmets。
  • 会尝试一下。我担心其中一些可能是从网站上看的中国人。
【解决方案3】:

您也可以考虑使用Delphi live template

【讨论】:

    【解决方案4】:

    就像 Marjan 已经提到为新的自定义单元使用专家一样,您也可以让 IDE 专家重写 Delphi 的默认单元代码以获得最大的可定制性。但由于这个答案可能意味着最需要的工作,我不会详细介绍或示例代码。这只是一种可能。

    【讨论】:

    • 其实这只是实现IOTARepositoryWizard和IOTAModuleCreator的正确方法。
    • @Downvoter 那建议您更换设备?我想我会使用 IOTAIDENotifier 来响应打开新的 Form,并使用 IOTASourceEditor 来修改源。
    • 对于问题“从模板创建自定义单元”的第二部分,是的。对象存储库允许添加具有简单但不是单元的项目或表单(无需破解以解除限制)。因此,该任务的成熟解决方案将是带有定制 IOTAModuleCreator 的 IOTARepositoryWizard。
    猜你喜欢
    • 2010-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多