RSS

Ajout d’un entête à vos fichiers

26 Juin

Macro Visual Studio 2010, permettant l’ajout d’un entête à vos fichiers avec un raccourci clavier [Alt-H].

Ajout de la macro

Click menu “Outils
Click menu "Macros"
Click menu "Editeur de Macros"
Click droit sur "My Macros"
Click "Ajouter"
Choisir "Ajouter un module
Nommer ce module  "AddClassHeaderText"
Copier et coller le code ci-dessous et adaptez les variables à votre convenance.

 

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports EnvDTE90a
Imports EnvDTE100
Imports System.Diagnostics

Imports Microsoft.Win32

Public Module AddClassHeaderText
    ' Update
    Private Const initialAuthor As String = "[ja]"
    Private Const emailAuthor As String = "jalvarez54@free.fr"
    Private Const historyText As String = "Creation."
    Private Const version As String = "1.0.0.0"
    Private Const copyrightText As String = "Copyright (c) 2011 All Right Reserved, http://195.5.238.130/btsiris/"
    Private companyName As String = String.Empty
    Private authorName As String = String.Empty
    ' end Update

    Sub FileHeader()

        Dim doc As Document
        Dim docName As String
        Dim localMachineKey As RegistryKey
        Dim subKey As RegistryKey

        Dim dateWrite As String = Today.ToShortDateString
        Dim timeWrite As String = Date.Now.ToShortTimeString
        Dim historyBegin As String = "- " + dateWrite + " : " + initialAuthor + " " + historyText

        ' If Windows 7 : 64 bits
        If Environment.Is64BitOperatingSystem Then
            localMachineKey = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.LocalMachine, RegistryView.Registry64)
        Else
            ' If Windows 7 : 32 bits
            localMachineKey = Registry.LocalMachine
        End If

        subKey = localMachineKey.OpenSubKey("SOFTWARE\Microsoft\Windows NT\CurrentVersion", False)
        companyName = subKey.GetValue("RegisteredOrganization").ToString
        authorName = subKey.GetValue("RegisteredOwner").ToString

        ' Get the name of this object from the file name
        doc = DTE.ActiveDocument

        ' Get the name of the current document
        docName = doc.Name

        ' Set selection to top of document
        DTE.ActiveDocument.Selection.StartOfDocument()
        DTE.ActiveDocument.Selection.NewLine()

        ' Write first line
        DTE.ActiveDocument.Selection.LineUp()
        DTE.ActiveDocument.Selection.Text = "/* ************************************************************************************"
        DTE.ActiveDocument.Selection.NewLine()

        ' Write copyright tag
        DTE.ActiveDocument.Selection.Text = "<copyright file=""" + docName + """ company=""" + companyName + """>"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "" + copyrightText
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "</copyright>"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = ""

        ' Could write <summary></summary> tag
        DTE.ActiveDocument.Selection.Text = "========================================================"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "<summary>"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "</summary>"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "========================================================"

        ' Write author name tag
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "<author>" + authorName + " " + initialAuthor + "</author>"
        DTE.ActiveDocument.Selection.NewLine()

        ' Could write <email></email> tag
        DTE.ActiveDocument.Selection.Text = "<email>" + emailAuthor + "</email>"
        DTE.ActiveDocument.Selection.NewLine()

        ' Could write <date></date> tag
        DTE.ActiveDocument.Selection.Text = "<date>" + dateWrite + "</date>"
        DTE.ActiveDocument.Selection.NewLine()

        ' Could write <time></time> tag
        DTE.ActiveDocument.Selection.Text = "<time>" + timeWrite + "</time>"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "========================================================"
        DTE.ActiveDocument.Selection.NewLine()

        ' Could write <version></version> tag
        DTE.ActiveDocument.Selection.Text = "<version>" + version + "</version>"
        DTE.ActiveDocument.Selection.NewLine()

        ' Could write <update></update> tag
        DTE.ActiveDocument.Selection.Text = "<update>" + dateWrite + "</update>"
        DTE.ActiveDocument.Selection.NewLine()

        ' Could write <history></history> tag
        DTE.ActiveDocument.Selection.Text = "<history>"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = historyBegin
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "</history>"
        DTE.ActiveDocument.Selection.NewLine()

        ' Write last line
        DTE.ActiveDocument.Selection.Text = "***********************************************************************************/"
    End Sub

End Module

Résultat de l’exécution de la macro

/* **********************************************************************
 * <copyright file="HostWindowsService.Designer.cs" company="Lycée Charles de Foucauld">
 * Copyright (c) 2011 All Right Reserved, http://195.5.238.130/btsiris/
 * </copyright>
 * ========================================================
 * <summary>
 * 
 * </summary>
 * ========================================================
 * <author>José ALVAREZ [ja]</author>
 * <email>jalvarez54@free.fr</email>
 * <date>26/06/2011</date>
 * <time>05:39</time>
 * ========================================================
 * <version>1.0.0.0</version>
 * <update>26/06/2011</update>
 * <history>
 * - 26/06/2011 : [ja] Creation.
 * </history>
 * ***********************************************************************/

Ajout de la macro au menu “Outils/Macros”

Click menu "Outils"

Click menu "Personnaliser…"

Click onglet "Commandes"

Choisir la catégorie "Macros"

Click “Ajouter une commande…” et choisir “Macros

Sélectionner "MyMacros.AddClassHeaderText.FileHeader
Click “OK

Ajout raccourci clavier

Click menu "Outils"

Click menu "Personnaliser…"

Click onglet "Barre d’outils"

Click “Clavier”

Sélectionner "MyMacros.AddClassHeaderText.FileHeader"

Click “Alt-H

Publicités
 
Poster un commentaire

Publié par le 26 juin 2011 dans Développement

 

Étiquettes :

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

 
%d blogueurs aiment cette page :