【问题标题】:Delphi Prompt to Add to UsesDelphi 提示添加到使用
【发布时间】:2018-02-04 00:20:12
【问题描述】:

刚刚从 Delphi XE 升级到 Tokyo,并希望获得一些更新的 IDE 功能。

一个不错的功能是自动提供选项以将单元添加到使用子句。例如,如果您在代码中引用了一些不在使用中的内容,那么如果 IDE 提示您添加相关单元,那就太好了。

例如,为了简单起见,在 IntelliJ 中,您可能会声明一个 Button,但尚未将关联的库添加到 Import 子句中。

发生这种情况时,违规行会突出显示(就像在 Delphi 中一样),但 IDE 将允许您使用 Alt-Enter 添加必要的库。如果有多个库(它知道),它会提示您选择您想要的库。

Delphi 有类似的东西吗?

【问题讨论】:

  • 我想问题在于 IDE 并不真正了解uses 中没有的代码。 IDE 没有离线数据库可以用来查找这样的标识符及其所在的单元。我假设有人可以生成这样的数据库并为它编写一个不错的专家,但我还不知道。
  • help center要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题对于Stack Overflow,因为它们往往会吸引固执己见的答案和垃圾邮件。 IOW,你不能在这里询问第三方插件或组件。您也许可以在Software Recommendations 提问,但请务必在发布之前阅读他们的指南 - 他们对允许的内容非常严格。如果您想在 IDE 中看到某个功能,请咨询 Embarcadero。
  • @Rudy,确定一个已知类型的库会很好,这些可以从库路径中可用的单元中收集。这可能就是 IntelliJ 的做法。对于其他类型,例如本地定义的类型,这些可以从项目代码/可用路径中收集。
  • @KenWhite:ISTM 他在询问 Delphi 是否可以以某种方式做同样的事情(必须设置一些选项)。这对我来说似乎是一个有效的问题。
  • @Rudy:如果你看的话,我在下面回答了关于 IDE 的问题。我提到了help center 所说的内容以供将来参考(并且因为它应该从这篇文章中删除)。我知道该网站的运作方式,谢谢,

标签: delphi ide uses


【解决方案1】:

Delphi 2007 和更高版本支持它知道的大多数类型(在搜索或库路径中)。 (它可能在 D2005/2006 中可用;我现在没有将它们安装在任何地方进行检查。我知道它不在 Delphi 7 中。)

输入类型,然后使用重构菜单(重构->查找单元)或按Ctrl+Shift+A

这是一个例子:

它不是 100% 有效,但它比旧方法有了很大的改进。

(是的,我知道TArray<string>,在有人插话之前。我刚刚抓了一个快速类型,我知道它不会出现在默认的 VCL 表单中,例如使用子句。)

【讨论】:

  • 它是否也能找到不在uses子句中的一个单元的标识符?我刚刚尝试使用控制台应用程序,但找不到 TButton。我可以找到uses 子句中的标识符。但也许我做的不对? VCL 在库路径中,AFAIK。
  • @Rudy:我不知道它会或不会搜索什么。它在我使用的示例中找到了System.Types,它不在uses 子句中。我只有the documentation 和某处的博客文章(不记得在哪里,但我会尝试找到它)。
  • @Rudy:实际上,Berlin docs 有一个更好的描述,但它仍然不能很好地说明它的外观。
  • AFAIK,它只查看当前项目中使用的单位(直接?)。我在一个 DUnit 项目中尝试过,它仍然没有找到 TButton,虽然我确定该项目有按钮。
  • 从那以后,该功能就一直是 IDE 的一部分吗?它当然在 Delphi 2007 中可用(而在 Delphi 7 中不存在。)
猜你喜欢
  • 2014-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-15
  • 2013-02-08
  • 1970-01-01
  • 2012-11-02
  • 1970-01-01
相关资源
最近更新 更多