【问题标题】:Code completion stopping work out of blue代码完成突然停止工作
【发布时间】:2013-08-29 20:18:35
【问题描述】:

我有一个 .pas 文件并且正在编程 - 代码完成停止工作。我删除了 IDEFixPack,这是可疑的,但没有任何改变。可以是什么?

(我会自己回答,只是把这个发现留给社区)。

unit Unit2;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs;

type
  TForm2 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

end.

编辑:我怀疑这可能是由奇怪的行尾引起的(通过文件混合 CR、LR 和 CRLF):

unit Unit2;[CR]
[LF]
interface[CR][LF]
[LF]
uses[LF]
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,[CR]
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs;[LF]

等等……

【问题讨论】:

  • Delphi IDE 中的代码完成存在大量问题。我每月至少发现一到两次新问题。每个场合似乎仍然是随机的,每次都有不同的原因(几次我设法找到了原因)
  • @JerryDodge:这不是。它特定于单个 .pas 文件。链接中的问题显示了即使在全新项目上也会发生的问题。我使用 Notepad++ 解决了这个问题,只是将有问题的行结尾转换为 Window 格式。正在回答中。
  • 如果您确定特定文件的具体内容 - 让我们看看。
  • 没什么特别的,只是行尾而已。
  • 就像旁注一样,这个问题在Meta进行了讨论

标签: delphi delphi-xe2 code-completion


【解决方案1】:

其中一个原因是:行尾字符混合在源文件中。使用 Dos2Unix(批量)或 Notepad++(如果只是一个或几个文件)将其更正为 Windows 行尾 (CRLF),代码完成将返回。 现在发生在我身上,让我失去了一个多小时试图找出正在发生的事情。当然,delphi 上的 CC 存在漏洞,这只是原因之一。但是是个狡猾的人。

【讨论】:

  • 因为这是一个很常见的问题,我不想要代表。
猜你喜欢
  • 1970-01-01
  • 2018-05-11
  • 1970-01-01
  • 2014-06-13
  • 2020-03-22
  • 1970-01-01
  • 2017-08-22
  • 2021-02-01
  • 2016-12-29
相关资源
最近更新 更多