Delphi开发如何忽略指定引用单元以提升代码补全运行速度
Delphi代码补全忽略指定引用单元的解决方法
可以实现,以下是3种常用方案,均不影响正常编译运行,仅屏蔽代码补全功能对指定单元的扫描:
- 方案1:使用
CODEINSIGHT预定义宏做条件编译(兼容性最佳,全Delphi版本可用)
Delphi IDE在执行代码补全扫描时会自动定义CODEINSIGHT宏,正式编译时该宏不存在,仅需用条件编译指令包裹要忽略的单元即可:
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, {$IFNDEF CODEINSIGHT} CoreDCore, // 编译时正常引用,代码补全扫描时自动跳过 {$ENDIF} ActiveX;
- 方案2:全局配置IDE排除指定单元/目录(适合多项目复用的第三方单元)
如果你使用的是Delphi 10.4及以上版本,可以直接在IDE全局设置中添加排除规则:- 打开菜单栏
Tools->Options->User Interface->Editor->Language->Delphi->Code Insight - 在
Excluded directories或Excluded units配置项中,添加CoreDCore对应的单元路径或单元名即可,设置后所有项目的代码补全都不会扫描该目标内容。
- 打开菜单栏
- 方案3:引用时添加
.dcu后缀(适合无调试第三方单元源码需求的场景)
uses语句中如果给单元名添加.dcu后缀,IDE只会在编译阶段链接对应dcu文件,不会主动查找对应.pas源码做代码补全扫描:
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, CoreDCore.dcu, // 仅链接dcu,不触发源码扫描 ActiveX;
使用该方案需要确保编译时的搜索路径中存在对应CoreDCore.dcu文件。
内容的提问来源于stack exchange,提问作者Ago
相关产品推荐
相关产品推荐

