在一个 Delphi 项目中CTRL +空格键不起作用。在“使用”之前,当我按CTRL +空格键时,代码完成出现,但在“使用”之后,代码完成不出现。我使用Delphi 2009。我安装了Fastreport和raize组件和vcl皮肤。
uqjltbpv1#
最有可能的原因是您在CTRL+空格键有效和无效的位置之间有一些小的语法错误,如缺少分号、名称无效等。这是由于Code Insight检查代码结构的方式。所以我建议你去菜单项目,然后选择语法检查。CTRL+空格键不起作用的另一个原因是您仍在调试程序。请注意,在调试会话进行期间,代码洞察和错误洞察都被禁用。
s4chpxco2#
条件编译通常会对代码洞察(Ctrl+Space)造成严重破坏。因此,请注意代码中的{$IFDEF ...}。除了需要支持多个 Delphi 版本的库代码之外,我更喜欢避免条件编译。但是,如果你必须使用它,考虑反转逻辑,这样你就可以使用{$IFNDEF ...}。另外,如果你的代码不能编译,这个功能也不总是有效的。这取决于在你按Ctrl+Space的时候,哪些依赖项不能编译。然而,根据我的经验,这个特性有时候只是“坏了”。如果你幸运的话,关闭并重新打开这个项目就可以修复它。但是通常我必须关闭并重新打开 Delphi ,然后重新构建这个项目。
{$IFDEF ...}
{$IFNDEF ...}
z3yyvxxp3#
我有同样的问题,我按下Ctrl+空格键的所有单位在使用部分,我看到一个单位 Delphi 不能识别。我删除它,我键入它再次与Ctrl+空格键,之后一切都是好的。另一个原因是,如果存在特殊字符,如制表符在您单位。
dzjeubhm4#
“所以要注意你代码中的{$IFDEF...}。”有这样的提示。暂时用Ctrl-X组合键,然后按Ctrl+空格键,把代码粘贴回去。然后...它又工作了。 Delphi XE10.1 Update 2。它有时不工作的其他原因仍然是个谜。确实很令人沮丧。
4条答案
按热度按时间uqjltbpv1#
最有可能的原因是您在CTRL+空格键有效和无效的位置之间有一些小的语法错误,如缺少分号、名称无效等。这是由于Code Insight检查代码结构的方式。
所以我建议你去菜单项目,然后选择语法检查。
CTRL+空格键不起作用的另一个原因是您仍在调试程序。请注意,在调试会话进行期间,代码洞察和错误洞察都被禁用。
s4chpxco2#
条件编译通常会对代码洞察(Ctrl+Space)造成严重破坏。
因此,请注意代码中的
{$IFDEF ...}
。除了需要支持多个 Delphi 版本的库代码之外,我更喜欢避免条件编译。但是,如果你必须使用它,考虑反转逻辑,这样你就可以使用
{$IFNDEF ...}
。另外,如果你的代码不能编译,这个功能也不总是有效的。这取决于在你按Ctrl+Space的时候,哪些依赖项不能编译。
然而,根据我的经验,这个特性有时候只是“坏了”。如果你幸运的话,关闭并重新打开这个项目就可以修复它。但是通常我必须关闭并重新打开 Delphi ,然后重新构建这个项目。
z3yyvxxp3#
我有同样的问题,我按下Ctrl+空格键的所有单位在使用部分,我看到一个单位 Delphi 不能识别。我删除它,我键入它再次与Ctrl+空格键,之后一切都是好的。
另一个原因是,如果存在特殊字符,如制表符在您单位。
dzjeubhm4#
“所以要注意你代码中的{$IFDEF...}。”有这样的提示。暂时用Ctrl-X组合键,然后按Ctrl+空格键,把代码粘贴回去。然后...它又工作了。 Delphi XE10.1 Update 2。它有时不工作的其他原因仍然是个谜。确实很令人沮丧。