Delphi代码完成性能

标签 delphi intellisense code-completion

我有一些大型(~600k 行代码)Delphi 项目。它们包括我们团队开发的一些自定义组件。

通常,当我使用 ctrl+space 或仅按“.”调用代码完成时,IDE 会锁定并思考很长时间。有时延迟可能会长达一分钟或更长时间。其他时候,它会立即弹出建议。

哪些因素影响 Delphi 中智能感知的性能?有什么办法可以提高这个性能吗?

到目前为止,我最好的解决方案是关闭自动完成,并在需要安静冥想一分钟左右时使用 ctrl+space。

我忍不住要提一下,VS2005、VS2008 和 XCode 似乎都能提供几乎即时的智能感知反馈(尽管我从未在这么大的项目上尝试过)。

作为替代方案,I've offered this suggestion .

最佳答案

当用户请求 Code Insight(Ctrl+Space、“.”等)时,Delphi Code Insight 会调用编译器 dll 进行自定义编译。此自定义编译在单元中进行构建,并跳过代码生成、链接等,直到达到文件缓冲区中的当前偏移量。考虑到这一点,编译器在到达当前位置之前看到的单元列表将在确定 Code Insight 操作的速度方面发挥重要作用。可能有一个单元(或多个单元)导致严重的文件系统依赖性等。很有可能重新排序uses子句,将uses子句重构为多个文件,或者删除uses子句中不存在的单元。您当前的单元不需要进行编译可能会提高性能。此外,使用包或缩短单元搜索路径可能会缩短 CI 响应时间。

关于Delphi代码完成性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/898327/

相关文章:

delphi - 如何允许表单接受文件删除而不处理 Windows 消息?

delphi - win64\debug\dsnap.dcp 似乎已过时

visual-studio - 编写开口尖括号时Visual Studio 2013崩溃

ide - 具有代码完成功能的 python IDE,包括参数对象类型推断

delphi - DWScript 使用子句

delphi - TForm.ManualDock 应该调用 onFormShow 吗?

typescript - 如何在 vscode 中全局引用 *.d.ts

c# - 重新创建 "Font"属性行为

在按下 [tab] 键后,Xcode swift 方法完成不会提升任何内容

python - 我怎样才能告诉 PyCharm 参数应该是什么类型?