Delphi IDE中的单位方法搜索列表为空

Delphi IDE中的单位方法搜索列表为空,delphi,ide,Delphi,Ide,几天来,我一直在使用Delphi的10.4.2版本。我立即注意到一个奇怪的问题,在某些情况下,用于搜索与加载单元相关的方法的IDE列表仍然是空的,因此不可能使用它传递给某个过程。 经过一些测试,我意识到问题本质上取决于一个过程,在我的代码中,这个过程存在于主程序用作插件的所有包的定义中,负责的过程如下: function Command (Id: integer; Params: ansistring; Proc: TProc <TObject> = nil): ansistring

几天来,我一直在使用Delphi的10.4.2版本。我立即注意到一个奇怪的问题,在某些情况下,用于搜索与加载单元相关的方法的IDE列表仍然是空的,因此不可能使用它传递给某个过程。 经过一些测试,我意识到问题本质上取决于一个过程,在我的代码中,这个过程存在于主程序用作插件的所有包的定义中,负责的过程如下:

function Command (Id: integer; Params: ansistring; Proc: TProc <TObject> = nil): ansistring; override;
函数命令(Id:integer;Params:ansistring;Proc:TProc=nil):ansistring;推翻
要给出的问题本质上是“=nil”,如果我删除它,所有的方法都会神奇地再次出现在列表中。 这在RIO上没有发生(我没有尝试过以前版本的Sydney),有没有人知道如何修复它,或者我们必须等待新的更新?

您可以打开Classic Code Insight

打开选项->用户界面->编辑器->语言->代码洞察选项卡

这里有一个组合框,您可以在其中选择Code insight manager。您可以使用以前的Delphi版本中使用的Delphi(经典代码洞察),而不是Delphi(语言服务器协议)


如果您有可复制的代码不能与LSP code insight很好地配合使用,请在Ok上提交错误报告,这让我很困扰,因为新的code insight是我更新到10.4.2的原因之一,我将查看是否使用旧模式。我试图及时报告错误。谢谢是的,那很不幸。LSP仍然需要更多的工作。好的一面是,一些在Classic Code Insight中不起作用的东西在悉尼已经修复,因此升级仍然是值得的。很抱歉,我刚刚尝试了你的建议,在我看来是可行的,但即使在Delphi Classic版本上设置ide也会继续出现同样的问题,还有必要更改其他设置吗?不幸的是,没有。有些代码会破坏代码完成。我建议在质量门户中报告该问题