2013-03-18 5 views
5

Gestern entdeckte ich die Format Source-Funktion in Delphi, und es spart mir eine Menge Zeit.Delphi automatische Formatquelle korrumpiert anonyme Prozeduren

Allerdings habe ich festgestellt, dass es das Layout von anonymen Verfahren korrumpiert. Gibt es eine Einstellung, die dieses Ergebnis verbessern kann?

Zum Beispiel, wenn ich den folgenden Code haben:

procedure TServerThread.cbUpdateStreamProgBar(Precentage: Integer); 
begin 
    Synchronize(
    procedure 
    begin 
     FrmMain.StreamProgressBar.StepBy(Precentage); 
    end); 
end; 

Nachdem ich auto-Format, den Quellcode, ist es zusammengebrochen wie folgt:

procedure TServerThread.cbUpdateStreamProgBar(Precentage: Integer); 
begin 
    Synchronize(procedure begin FrmMain.StreamProgressBar.StepBy 
    (Precentage); end); 
end; 

Wie kann ich das vermeiden?

+1

Ich bin nicht sicher, dass das möglich ist, es gibt viele Sprachfeatures, die der Editor der IDE nicht wirklich "bewusst" ist, aber darauf warten, dass andere dies beantworten, interessiert mich auch ... nicht vergessen Fügen Sie dieser Frage das Tag der Delphi-Version hinzu. – ComputerSaysNo

+1

@ComputerSaysNo Danke für die Unterstützung und ich, ich hoffe wirklich, dass es eine Lösung dafür gibt. (Ich hoffe nur nicht ein Dienstprogramm von Drittanbietern) –

+0

AFAIK das ist ein Feature, das mit XE3 beginnt –

Antwort

2

Sie müssen auf eine neuere Version von Delphi aktualisieren, wie in Kommentaren erwähnt. Der automatische Quellformatierer in XE2 ist für anonyme Methoden in Ordnung.

Als Alternative können Sie die Experimental GExperts IDE PlugIn ausprobieren. Wenn es nicht korrekt formatiert wird, gibt es Quellcode zum Hinzufügen Ihres eigenen Stils.

Siehe auch Delphi code formatter.


Update, um darüber nachzudenken, gibt es einen Workaround. Ein bisschen langweilig. Wenn Sie Teile Ihrer Quelle auswählen, wird nur die Auswahl durch Drücken von ctrl + D formatiert.

+0

Ja, leider ist dies ein bekannter Fehler in Delphi XEs Codeformatierer, der nicht behoben wird, außer durch XE2 und XE2 oder XE3. –

Verwandte Themen