Wie kann man ein $ {include_guard_symbol} in Eclipse mit einem großgeschriebenen Dateipfad haben?

9

Wenn Sie Codevorlagen in Eclipse CDT definieren, können wir eine Variable namens ${include_guard_symbol} verwenden, die übersetzt zu MYFILE_H .

Ich hätte gerne etwas expliziteres: SRC_MYFOLDER_MYFILE_H .

Ich habe die Schritte in eine Antwort auf Stack Overflow-Frage Customizing include-guard für Eclipse CDT ausgeführt / a>, aber alles, was ich bekomme ist, dass ${include_guard_symbol} eine leere Zeichenfolge zurückgibt! Ich habe auch andere verwandte Fragen zu Stack Overflow über das Hinzufügen des Namensraums zum Include-Wächter gesehen, aber das ist nicht das, was ich suche für.

Ich verwende Eclipse Version 3.5.2 mit CDT Version 6.0.2.

Gibt es eine andere Möglichkeit, das gewünschte Ergebnis zu erzielen?

    
alestanis 19.10.2012, 13:56
quelle

3 Antworten

4

Die älteste Version, die ich installiert habe, ist 3.7 und ich habe dort und auf 4.2 getestet und der Verweis-Link macht genau das OP will. (Das OP verwendet 3.5.2). Für alle, die in Zukunft hierher kommen, sind die Schritte

  1. Beenden Sie Eclipse
  2. Navigieren Sie zu Ihrem Arbeitsbereich und navigieren Sie dann weiter zu \.metadata\.plugins\org.eclipse.core.runtime\settings
  3. Ich mache immer gerne eine Sicherungskopie des Einstellungsordners, bevor ich Mods
  4. mache
  5. Laden Sie die Datei namens org.eclipse.cdt.ui.prefs in einen Texteditor
  6. Fügen Sie diese Zeile hinzu (ich habe meine Zeile in Zeile 3 eingefügt)
    codetemplates.includeGuardGenerationScheme=2
  7. Speichern Sie die Datei.
  8. Neustart der Sonnenfinsternis

Ich habe einen Ordner namens MyFolder in meinem src-Ordner erstellt. Dann habe ich mit der rechten Maustaste geklickt und eine neue Header-Datei mit folgendem Ergebnis hinzugefügt:

%Vor%     
Tod 18.09.2013, 00:21
quelle
0

Hauptpunkte davon: So passen Sie Eclipse-CDT-Code-Vorlagen an

Eine Lösung besteht darin, ${include_guard_symbol} in der Vorlage zusammen zu löschen und selbst zu definieren , möglicherweise unter Verwendung einiger der anderen vordefinierten Variablen. Etwas wie das:

%Vor%

Bei einer Header-Datei namens inc / Foo.h würde der include guard wie folgt eingefügt:

%Vor%

Leider scheint es keinen Weg zu geben, viel darüber hinaus anzupassen. Wenn ich zum Beispiel eine Klasse definiert habe, die in einem Namespace verschachtelt ist, möchte ich den Namespace möglicherweise als Teil des include guards verwenden. Ich kann momentan keinen Weg finden, dies in Eclipse zu tun.

    
Software_Designer 07.11.2012 13:16
quelle
0

Nicht wirklich eine Antwort auf Ihre Frage, aber ich würde gerne eine Alternative vorschlagen. Include-Wächter bieten eine funktionierende, wenn auch grobe Art und Weise, Code in einer Header-Datei zu verbieten, die mehr als einmal pro Kompilierungseinheit enthalten sein soll. Als Alternative könnten Sie das

verwenden %Vor%

Compiler-Anweisung. Ich weiß, dass es nicht im Standard definiert ist, aber es wird von zahlreichen Compilern unterstützt, darunter GNU, Clang, MSVC und Intel. Wenn Sie #pragma once verwenden, verlieren Sie wenig Portabilität und vermeiden Namenskonflikte, von denen ich annehme, dass sie den Grund dafür sind, dass Sie ${include_guard_symbol} an erster Stelle ändern wollen.

Sie können auch Ссылка für eine ausführlichere Diskussion besuchen.

    
Michael Koenig 14.11.2012 12:28
quelle

Tags und Links