C/C++-Code beim Speichern formatieren

Lesezeit: 5 Minuten

Benutzer-Avatar
Goulou

Die Formatierungsoptionen von Eclipse vermeiden viele Konflikte mit anderen Benutzern und stellen sicher, dass mein Code immer “sauber” aussieht (insbesondere in Bezug auf meine Git-Commits).

Ich kenne die Option “Beim Speichern formatieren” im Java-Editor, konnte aber keine in C/C++ finden.

Ist das Absicht?

Darf ich eines Tages mit einer solchen Option rechnen? Oder habe ich vielleicht nicht genug gesucht?

  • Es gibt Optionen, um Ihren Codierungsstil so einzustellen, dass er während der Bearbeitung korrekt formatiert wird. Ist das nicht das, was Sie wollen?

    – Bo Persson

    21. März 2011 um 13:34 Uhr

  • @Goulou: Wenn Sie wirklich möchten, dass die Leute Ihre Fragen beantworten, sollten Sie das tun annehmen einige Antworten auf Ihre vorherigen Fragen. StackOverflow ist nicht ein normales Forum. Personen sollte irgendwie für die Zeit belohnt werden, die sie für die Lösung Ihrer Probleme aufgewendet haben.

    – bald

    21. März 2011 um 13:47 Uhr


  • @Bo Persson: Formatiert es alles während der Bearbeitung? Ich bin mir nicht sicher (insbesondere wenn Sie Code direkt einfügen)

    – Golou

    22. März 2011 um 14:48 Uhr

  • @ereOn : Entschuldigung, ich habe auf noch genauere Antworten auf einige meiner Fragen gewartet, aber sie wurden vergessen … Ich habe jetzt einige von ihnen akzeptiert.

    – Golou

    22. März 2011 um 14:49 Uhr

  • @Goulou, manchmal werden die Antworten nicht besser, weil die Frage zu wenig Informationen enthält. Manchmal gibt es keine sachkundigen Leute, die antworten können.

    – Prof. Falken

    23. März 2011 um 6:37 Uhr

Benutzer-Avatar
πάντα ῥεῖ

Ich kenne die Option “Beim Speichern formatieren” im Java-Editor, aber ich konnte keine in C/C++ finden … Oder habe ich vielleicht nicht genug gesucht?

Ich fürchte, diese Option ist für den CDT C++-Editor (Eclipse CDT Juno Service Release 1) einfach nicht verfügbar:

Aktionsoptionen zum Speichern von Eclipse Juno C++ CDT-Texteditor

Das ist alles, was auf Eclipses-IDE-Ebene verfügbar ist.

Es gibt zwei Lösungen, die Sie in Betracht ziehen könnten, um Ihre Bedenken zu lösen:

  1. Sie könnten erwägen, eine gewisse Disziplin anzunehmen, wie in den anderen Antworten erwähnt
  2. Führen Sie ein geeignetes Skript aus, um Ihre Quelldateien zu formatieren, bevor Sie sie festschreiben. Das Ein Stil Tool könnte für diesen Zweck hilfreich sein.

Man könnte auch über ein automatisches Pre-Checkin/-Commit-Abfangen nachdenken, das ein Skript für die tatsächlich verwendeten ausführt Revisionskontrollsystem. Viele Revisions-/Versionskontrollsysteme bieten eine solche Funktion.

Darf ich eines Tages mit einer solchen Option rechnen?

Haben Sie nach dieser Funktion gefragt? Eclipse/CDT-Community-Forumoder eine Feature-Anfrage im gestellt Eclipse CDT-Bugzilla-Tracking-System? Wenn niemand von einer solchen Feature-Nachfrage weiß und ob sie von einer Mehrheit der Benutzer verlangt wird, ist die Wahrscheinlichkeit gering, dass dies „aus Versehen“ implementiert wird.

Benutzer-Avatar
Cédric Julien

Sie können die Tastenkombination “Strg+Umschalt+F” verwenden, um Ihre bearbeitete c/c++-Datei zu formatieren.

Benutzer-Avatar
grauwolf82

Das Format beim Speichern in CDT ist jetzt in Eclipse Mars implementiert.

  • Wie aktiviert man es? Welche Menüoptionen?

    – Mawg sagt, Monica wieder einzusetzen

    7. September 2016 um 7:15 Uhr

  • Danke (+1), das wird anderen helfen (vielleicht können Sie Ihre Antwort bearbeiten, um sie besser sichtbar zu machen). Schade, dass wir das nicht auch können source\optimize includeswie sie es für Java können (falls sich das in Zukunft jemals ändern sollte, könnte jemand bitte auf stackoverflow.com/questions/39363952/… antworten)

    – Mawg sagt, Monica wieder einzusetzen

    8. September 2016 um 7:29 Uhr

Ich verwende das AStyle-Programm, um meinen Code nach einer Reihe von Regeln zu formatieren. Im Moment mache ich das nur über die CLI, aber ich weiß, dass es eine gibt Plugin für Eclipsedie ich noch nicht verwendet habe:

Astyle Eclipse basiert auf dem Astyle-Programm und zielt darauf ab, einen C/C++-Formatierer für das CDT-Plugin in Eclipse bereitzustellen. Daher sollten alle unterstützten Formate optional einen Stil überprüfen

Es gibt noch keine solche Standardoption im Eclipse-CDT. Sie können versuchen, Ihr eigenes Plugin zu schreiben Dies Eclipse-Forenthread zeigt, wie der CDT-Formatierer von einem Eclipse-Plug-in aufgerufen wird. Sie müssen nur herausfinden, wie Sie bei jeder Speicheraktion einen Plugin-Aufruf auslösen.

  • Wie ich bereits erwähnt habe, müssen Sie die aktuell ausgewählte Formatstrategie berücksichtigen. Ich denke, dies ist nicht wirklich “trivial” innerhalb dieses Plugins. Ich würde lieber zuerst das Entwicklerforum konsultieren, warum diese scheinbar ‘triviale’ Option noch nicht implementiert wurde.

    – πάντα ῥεῖ

    29. Januar 2013 um 21:30 Uhr


  • im Grunde ist das gleiche Feature bereits im JDT implementiert. Ich denke auch, dass es einen Grund geben könnte, aber die Java-Welt macht bereits alles. Ich würde annehmen, dass ein möglicher Grund darin besteht, dass CDT das nicht von JDT zurückportiert hat und zum Zeitpunkt des Schreibens kein CDT-Formatierer oder keine JDT-Speicheraktion vorhanden war. Es scheint mir, dass Sie einen Save-Action-Listener schreiben und das registrieren müssen.

    – Alexander Ach

    30. Januar 2013 um 6:17 Uhr

  • Die Konstante für die Tastenbelegung heißt FORMAT_SOURCE_CODE, Sie finden das Listener-Zeug in der Nähe davon.

    – Alexander Ach

    30. Januar 2013 um 6:21 Uhr

Benutzer-Avatar
QQ

Hier ist ein Plugin für die Anforderungen: fos4cdt. Eclipse Mars kann diese Funktion enthalten, aber viele Benutzer werden noch eine Weile ältere Versionen verwenden. Es kann also nützlich sein.

  • Wie ich bereits erwähnt habe, müssen Sie die aktuell ausgewählte Formatstrategie berücksichtigen. Ich denke, dies ist nicht wirklich “trivial” innerhalb dieses Plugins. Ich würde lieber zuerst das Entwicklerforum konsultieren, warum diese scheinbar ‘triviale’ Option noch nicht implementiert wurde.

    – πάντα ῥεῖ

    29. Januar 2013 um 21:30 Uhr


  • im Grunde ist das gleiche Feature bereits im JDT implementiert. Ich denke auch, dass es einen Grund geben könnte, aber die Java-Welt macht bereits alles. Ich würde annehmen, dass ein möglicher Grund darin besteht, dass CDT das nicht von JDT zurückportiert hat und zum Zeitpunkt des Schreibens kein CDT-Formatierer oder keine JDT-Speicheraktion vorhanden war. Es scheint mir, dass Sie einen Save-Action-Listener schreiben und das registrieren müssen.

    – Alexander Ach

    30. Januar 2013 um 6:17 Uhr

  • Die Konstante für die Tastenbelegung heißt FORMAT_SOURCE_CODE, Sie finden das Listener-Zeug in der Nähe davon.

    – Alexander Ach

    30. Januar 2013 um 6:21 Uhr

Benutzer-Avatar
sampathris

Sie können versuchen, den gesamten Code auszuwählen und zu verwenden Alt + F8 formatieren. Dies ist ein Weg von VC IDE, aber ich bin mir nicht sicher, ob Eclipse funktionieren kann.

1366920cookie-checkC/C++-Code beim Speichern formatieren

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy