Frage

Ich habe ein paar großen (~ 600k Zeilen Code) Delphi-Projekte. Dazu gehören einige benutzerdefinierte Komponenten, die unser Team entwickelt hat.

Oft, wenn ich aufrufe Code-Vervollständigung mit Strg + Leertaste oder durch Drücken der Taste „“, bis das IDE-Schloss und denke wirklich hart für eine lange Zeit. Manchmal kann die Verzögerung eine volle Minute oder mehr. Andere Zeiten, es öffnet sich sofort mit Vorschlägen.

Welche Faktoren beeinflussen die Leistung von IntelliSense in Delphi? Gibt es eine Möglichkeit, diese Leistung verbessern kann?

Meine beste Lösung so weit ist die automatische Vervollständigung zu deaktivieren, und verwenden Sie Strg + Leertaste, wenn ich leise für eine Minute zu meditieren müssen oder so.

Ich kann nicht helfen, aber erwähnen, dass VS2005, VS2008 und XCode alle praktisch sofortige intellisense Feedback zu geben scheint (obwohl ich es nie an einem Projekt versucht haben, diese groß).

Als Alternative Ich habe diesen Vorschlag angeboten.

War es hilfreich?

Lösung

Seien Sie sicher, explizit enthalten alle Einheiten (*) von einem Projekt in der dpr verwendet.
Nicht auf dem Suchpfad verlassen, um eine Einheit von einer anderen Einheit genannt zu finden, fügen Sie es den dpr. Der DPR wird viel länger, aber alle Zusammenstellung im Zusammenhang Dinge werden schneller sein, einschließlich Code-Einsicht.

(*) nicht die Einheiten der installierten Komponenten.

Andere Tipps

Delphi Code Insight ruft den Compiler DLL eine benutzerdefinierte Kompilierung zu tun, wenn der Benutzer fordert Code Insight (Strg + Leertaste, '', usw.). Dieser Brauch kompilieren läßt einen Build in der Einheit und überspringt codegen, Verknüpfung usw., bis es Ihren Strom im Dateipuffer versetzt erreicht. Vor diesem Hintergrund ist die Einheit-Liste, die der Compiler sieht, bevor sie an der aktuellen Position wird ein großer Faktor bei der Bestimmung der Geschwindigkeit des Code Insight Betrieb spielen. Es kann eine Einheit (oder mehrere Einheiten) sein, die eine saftige Dateisystem Abhängigkeit verursachen, etc. Es ist durchaus möglich, dass die uses-Klausel Nachbestellung der uses-Klausel Refactoring in mehreren Dateien zu sein, oder Einheiten in der uses-Klausel zu entfernen, die ‚aren t, die für Ihre aktuelle Einheit kompilieren kann die Leistung verbessern. Zusätzlich unter Verwendung von Paketen oder Verkürzung Ihrer Einheit Suchpfad verbessern kann CI Reaktionszeit.

Ich weiß nicht, welche Version Sie verwenden, aber viel schnelle Code-Vervollständigung ist eines der Dinge, die mir am meisten über Delphi 2009 gefallen.

Dies ist ein seit langem bestehendes Problem mit Delphi, und ich musste ausgeschaltet automatische Vervollständigung zurückgreifen. Nach der Arbeit war auf diese Weise für eine Weile, ich sehr glücklich mit ihm. Auch wenn es nur einen Bruchteil einer Sekunde dauert, liegen die IDE mit meiner Typisierung war befremdlich und meinen Fluss unterbrochen. Viel schöner mit der Automatik ausgeschaltet, IMO.

Ich kam gerade über dieses Problem selbst, ich es fest von einem toten Netzwerk-Link aus meinem Umgebung Bibliothekspfad zu entfernen. Gelöst mein Problem zu 100%.

Haben Sie die Quellen-Verzeichnisse für Ihre Teams benutzerdefinierten Komponenten umfassen in der Bibliothek Pfad sein? Es wäre interessant, die Geschwindigkeitsdifferenz zu sehen, ob nur die Komponente DCU-Dateien in der Bibliothek Pfad sind, im Vergleich zu dort auch die Quelldateien mit.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top