2016-05-09 9 views
2

Ich möchte ein benutzerdefiniertes Vorlagenelement in VS2015 haben. Ich habe erstellt, was ich brauche, aber ich möchte etwas "Aussehen und Gefühl" der Vorlage anpassen. Die Vorlage für eine C++ Header sieht wie folgt aus:Uppercase Visual Studio itemTemplate-Parameter

#ifndef $safeitemname$_$guid1$ 
#define $safeitemname$_$guid1$ 


namespace $safeprojectname$ 
{ 

class $safeitemname$ final 
{ 

public: 
    $safeitemname$();  

    ~$safeitemname$();    

    $safeitemname$(const $safeitemname$&) = delete;  

    $safeitemname$& operator=(const $safeitemname$&) = delete; 


private:  

};  

}  

#endif 

Was will ich erreichen ist: Groß $safeitemname$ und $guid$ im definieren, und unterstrichen auch $guid$.

Es ist möglich? Wie kann ich es tun?

sah ich einen anderen Thread über etwas Ähnliches, aber ohne Antwort: Uppercase Visual Studio 2013 project template $itemname$

+0

Damit Sie 'abc' für' $ saveitemname $ 'angeben, aber wie es gelöst wird, erhalten Sie' ABC'? Ist es das was du willst? – TobiMcNamobi

+0

@TobiMcNamobi Ich möchte Großbuchstaben von '$ safeleitname $' nur in der '# definieren 'Abschnitt in diesem Beispiel oben. In anderen Teilen möchte ich es Kleinbuchstaben. – mtb

Antwort

0

Soweit ich weiß, gibt es keine solche Funktion ähnlich. Mehrere Problemumgehungen kommen mir jedoch in den Sinn:

  1. Verwenden Sie eine .bat-Datei, um neue Klassen zu erstellen. Eigentlich mache ich das in meinem Projekt.
  2. Live mit nicht-Großbuchstaben #defines. Es wird nur an einer Stelle verwendet und die GUID macht deutlich, dass es sich nicht um einen Klassennamen handelt. Na und?
  3. Verwenden Sie #pragma once. Many compilers unterstützen dies. Ich benutze dies zusätzlich zu 1.
  4. Sie könnten zwei Variablen wie $safeitemname$ für den Klassennamen und $include_guard$ für die #define Makro zur Verfügung stellen.
Verwandte Themen