2016-05-09 1 views
2

Je souhaite avoir un élément de modèle personnalisé dans VS2015. J'ai créé ce dont j'ai besoin, mais je veux ajuster l'aspect et la convivialité du modèle. Le modèle pour un en-tête de C++ ressemble à ceci:Paramètres Visual Studio itemTemplate majuscules

#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 

Ce que je veux atteindre est: en majuscules $safeitemname$ et $guid$ dans la définition, et a également souligné $guid$.

C'est possible? Comment puis-je le faire?

je vis un autre discussion sur quelque chose de similaire, mais sans réponse: Uppercase Visual Studio 2013 project template $itemname$

+0

Alors que vous fournissez 'abc' pour' $ safeitemname $ 'mais comme il est résolu vous obtenez' ABC'? Est-ce que c'est ce que tu veux? – TobiMcNamobi

+0

@TobiMcNamobi Je veux majuscule de '$ safeitemname $' juste dans la section '# define' dans cet exemple ci-dessus. Dans d'autres parties, je le veux en minuscule. – mtb

Répondre

0

Pour autant que je sais qu'il n'y a pas cette fonctionnalité comme ça. Plusieurs solutions de contournement me viennent à l'esprit, cependant:

  1. Utilisez un fichier .bat pour créer de nouvelles classes. En fait, je le fais dans mon projet.
  2. Live avec des majuscules #defines. Il est utilisé à un endroit seulement et le GUID indique clairement qu'il ne s'agit pas d'un nom de classe. Et alors?
  3. Utilisez #pragma once. Many compilers soutenir cela. Je l'utilise en plus de 1.
  4. Vous pouvez fournir deux variables comme $safeitemname$ pour le nom de classe et $include_guard$ pour la macro #define.