IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual C++ Discussion :

[VS2005 C++] Modèle de code / Snippet en C++ ?


Sujet :

Visual C++

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Par défaut [VS2005 C++] Modèle de code / Snippet en C++ ?
    Bonjour à tous,

    Je viens du monde Delphi et j'ai pris l'habitude d'utiliser les modèles de code (Ctrl+J) pour insérer un bout de code très rapidement.

    J'aimerais retrouver la même fonctionnalité sous Visual Studio 2005 en C++.
    Est-ce que c'est possible ?

    J'ai vu qu'il y a les "Code Snippets" mais ils ne semblent marcher qu'en VB ou VC# mais pas en C++ ??? En plus c'est assez lourd à éditer et mettre en place.

    Il n'y a pas une fonction / macro / addon qui me permettrait d'insérer quelques lignes de code dans l'éditeur de VC++ sur simple raccourci clavier ?

    Je souhaite par exemple préfixer mes fonctions d'un en-tête personnalisé juste en positionnant le curseur au dessus de la fonction et en faisant un raccourci clavier...

    Et si possible, si j'insère plusieurs lignes, j'aimerais que l'insertion tienne compte de l'indentation de l'endroit où j'insère le code ...

    Merci d'avance.

  2. #2
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Par défaut
    Aucune réponse ?

    Aller les gars ça doit bien exister ... c'est pas si compliqué !
    Ces fonctionnalités existent dans Delphi depuis des lustres ... ne me dites pas que Visual C++ ne peut pas le faire en 2005 !!!!

  3. #3
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414

  4. #4
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Par défaut
    Merci Nico,

    mais sauf erreur de ma part et comme je l'ai expliqué dans mon message initial, les code snippets ne semblent pas exister pour le C++ !!!???????

    à l'étape 3 de la page http://msdn2.microsoft.com/en-us/lib...94(VS.80).aspx il y a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <Snippet>
        <Code Language="VB">
     
        </Code>
    </Snippet>
    puis c'est spécifié : Note : The Language attribute also accepts the values CSharp, VJSharp, and XML

    mais nulle part C++ ou VC++ ...

    donc je fais comment pour créer un snippet pour la personnalité C++ ?

    Par exemple si je veux comme en-tête de toute fonction ajouter un bloc de commentaires du genre par simple appui d'un raccourci clavier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    //======================================================
    // Fonction : 
    // Créé par : 
    // Description :
    // Paramètres :
    //======================================================
    Vous faites comment vous ? Quand même pas du copier collé depuis la fonction du dessus en effaçant les informations après les ":" à chaque fois ??

    Merci d'avance.

  5. #5
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Par défaut
    Personne ?

    Je sais bien que le C++ est un langage tellement simple et lisible qu'il se passe de besoin de commentaires et d'aide à la saisie ... mais je suis quand même déçu !

    Bon allez j'y retourne !

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    personnellement moi c est CTRL C et CTRL V

  7. #7
    Membre averti
    Inscrit en
    Septembre 2004
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 28
    Par défaut
    Le système d'ajout de modèles d'éléments de vs2005 ne prend pas en charge C++. J'ai aperçu mais je n'ai pas testé l'extension sur ce lien
    vssdk
    qui, a priori, permettrait de le faire.

  8. #8
    Membre chevronné
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut
    Bonjour,

    Sans utiliser cet outil, j'arrive au même résultat avec des macros auxquelles j'ai ajouté des raccourcis clavier.
    Pour créer des macros tu trouveras de l'aide dans MSDN.

    Voici par exemple une procédure qui me permet d'ajouter un commentaire xml avec la balise <param> en positionnant le curseur à l'endroit où le nom du paramètre doit être écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub AjouterParam()
    	DTE.ActiveDocument.Selection.EndOfLine()
    	DTE.ActiveDocument.Selection.NewLine()
    	DTE.ActiveDocument.Selection.Text = "/// <param name=''></param>"
    	DTE.ActiveDocument.Selection.CharLeft(False, 10)
    End Sub
    Ensuite, il suffit de créer le raccourci clavier dans l'éditeur de code. Pour cela il faut aller dans Outils / Options / Clavier.
    Dans la zone "Afficher les commandes contenant :" taper "macros".
    Dans la liste en dessous, sélectionner la procédure voulue. Dans mon exemple, cela donnerait Macros.MyMacros.MonModule.AjouterParam.
    Dans la zone "Utiliser un nouveau raccourci dans :", sélectionner "Editeur de texte".
    Dans la zone "Appuyer sur les touches de raccourci :", il faut taper sur les touches de raccourci voulues. Par exemple Ctrl + P.
    Il suffit ensuite de cliquer sur Assigner et OK, et le tour est joué !
    Une frappe sur Ctrl + P dans l'éditeur de code donnera, toujours dans le cas de mon exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    		/// <param name=''></param>
    avec le curseur positionné entre les deux '.

    J'espère avoir répondu à ta question...

  9. #9
    Membre averti
    Inscrit en
    Septembre 2004
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 28
    Par défaut
    Après test, le package fourni par Microsoft (Microsoft Visual Studio 2005 IDE Enhancements) permet de gérer/exporter/importer facilement les snippet C++ de la même façon que pour C# et VB.NET. Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <?xml version="1.0" encoding="utf-8" ?>
    <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
      <CodeSnippet Format="1.0.0">
        <Header>
          <Title>MonClassHeader</Title>
          <Shortcut>_ch</Shortcut>
          <Description>class header</Description>
          <Author></Author>
          <SnippetTypes>
            <SnippetType>Expansion</SnippetType>
          </SnippetTypes>
        </Header>
        <Snippet>
          <Declarations>
    <Literal>
              <ID>namespace</ID>
              <Default>ns</Default>
            </Literal>
            <Literal>
              <ID>class</ID>
              <Default>CMaClasse</Default>
            </Literal>
              </Declarations>
          <Code Language="cpp">
            <![CDATA[
    namespace $namespace$ {
    
    class __declspec(dllexport) $class$
    {
    public:
    	$class$();
    	$class$(const $class$&);
    	virtual ~$class$();
    public:
    	void init();
    	void reset();
    	void clone(const $class$&);
    };
    
    }
            ]]>
          </Code>
        </Snippet>
      </CodeSnippet>
    </CodeSnippets>
    Les paramètres sont à définir dans la balise déclarations cf msdn.

Discussions similaires

  1. Passage du modèle au code
    Par beab.200x dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 02/05/2007, 00h46
  2. [Outils][VS2005] Comment voir le code CIL ?
    Par ep31 dans le forum Visual Studio
    Réponses: 1
    Dernier message: 27/03/2006, 11h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo