Visual Studio 14 Just Nice CTP


La nouvelle CTP Visual Studio 14 est axée à mon sens sur l’augmentation de la productivité, et la personnalisation de votre environnement de développement, on y retrouve pas mal de fonctionnalités sympas, je suis déjà Fan J

La CTP est uniquement en anglais, sa compatibilité complète n’est pas garantie avec l’environnement déjà installé.

Elle est à télécharger sur le lien suivant :

http://www.visualstudio.com/en-us/downloads/visual-studio-14-ctp-vs

Ci-dessous un résumé rapide des fonctionnalités majeures :

La possibilité de sauvegarder aisément un environnement de développement, en utilisant les commandes Save Window Layout et Apply Window Layout sous la fenêtre Windows, sans forcément créer un projet squelettes…

de correction automatique au niveau du code source en vue d’une optimisation technique, comme cela était fait auparavant en installant des plateformes de tunning, il s’agit du Light Bulb Editor Adornment.

Une lampe apparait sur la partie gauche de votre classe, cliquer dessus et vous disposez d’un ensemble de suggestions J cela devrait vous rappeler quelque chose.

Let’s Go

published from WP

Custom Editor – Build’s argument


Dans un but de personalisation de build, on fait souvent appel à l’injection de paramètres globaux qu sein du processus de construction, ces paramètres sont injecté concretement au sein du processus, lui est implémenté par un flux de travail, ce flux de travail content des sections classiques de sasise de paramètres tels, arguments ou variables, dans le cadre du post nous allons utiliser la section d’arguments.

Cette section possède une interface graphique au sein de Team explorer, il s’agit bien comme vous vous en doutez de l’onglet Process du Build Definition.
Un paramètre peut être de type simple ou personnalisé, nous allons voir comment définir un type personalisé et une interface spécifique pour la saisie d’une valeur pour ce type.

Un paramètre peut figurer dans la sous section Mix.
arguments

browsetype

 

Commencer par créer une classe particulière Test, représentant ce type particulier.

public class Test
    {
        public string SampleProperty { get; set; }

        public override string ToString()
        {
            return SampleProperty;
        }
    }

Ensuite créer la CredentialDialog, sera la boite de dialogue dédiée à la saisie du type

La CredentialDialog est la boite de dialogue qui sera affichée pour saisir une valeur de notre type personnalisé, pour celà
créer un formulaire WinForms pour la saisie de valeurs

public partial class CredentialDialog : Form
    {
        public CredentialDialog() { InitializeComponent(); }
        public string SampleField
        {
            get
            {
                return SampleField.Text;
            }
            set
            {
                SampleField.Text = value;
            }
        }
}

Crééer la CredentialEditor

La classe contient les métadonnées affichées lorsque un développeur clique sur le bouton argument.
La classe doit implémenter l`interface UITypeEditor

using System.Drawing.Design; 
using System.Windows.Forms.Design; 
using System.ComponentModel; 
using System; 
using System.Windows.Forms; 

namespace BuildTasks.CustomType 
{ 
    class CredentialEditor : UITypeEditor 
    { 
        public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) 
        { 
            if (provider != null) 
            { 
                IWindowsFormsEditorService editorService = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); 

                if (editorService != null) 
                { 
                    Credential credential = value as Credential; 

                    using (CredentialDialog dialog = new CredentialDialog()) 
                    { 
                        dialog.UserName = credential.UserName; 
                        dialog.Password = credential.Password; 

                        if (editorService.ShowDialog(dialog) == DialogResult.OK) 
                        { 
                            credential.UserName = dialog.UserName; 
                            credential.Password = dialog.Password; 
                        } 
                    } 
                } 

            } 
            return value; 
            
        } 

        public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context) 
        { 
            return UITypeEditorEditStyle.Modal; 
        } 
    } 
}

Ci-dessous des imprimes écran décrivant les étapes citées ci-dessus, en premier l’ajustement des métadonnées d’un argument.

cusqtomparam

select
 
GC.Collect()

Custom Build TFS 2013 with TFSBuildExtension


Vous pouvez utiliser un ensemble d’activités disponible sous CodePlex, il s’agit des Build Extension, elles permettent de personnaliser certaines comportements comme par exemple exécuter des scripts dédiés à mettre à jour ou peupler des bases de données.

Ci-desosus un lien d’accès : http://tfsbuildextensions.codeplex.com/

Vous avez aussi un lien documentant les activités : http://tfsbuildextensions.codeplex.com/documentation

Ce post a pour but d’aorder certaines subtilités de formattage liés à l’activité SqlExecute, activité utilisée pour exécuter des scripts SQL paramètrés. cette activité manque cruellement de documentation, cependant un coup de reflector s’impose.

PrepareSql

Le plus important est de renseigner les expressions VB comme il se doit, sans oublier aucun simple quote :
> Pour Parameters : pensez à les préfixer de @, les valeurs à mettre entre simple quotes.
> Pour la chaine de connection : pensez à juste mettre une chaine de caractère sans traitement particulier, comme vous faites sous une console d’aministration Web.
> Pour file : définir une liste de fichier.

Remarque : ne pas oublier de changer la valeur par défaut du timeout

Ci-dessous un imprime écran définissant les saisies

Parameters

Ci-dessous un exemple de script SQl :

Script

Le post stackoverflow correspondant : http://stackoverflow.com/questions/21388746/tfs-sqlexecute-custom-activity

Merci jesse

GC.Collect

Quality Tools


Ce post a pour objectif d’établir un listing d’un ensemble d’outils permettant le tunning d’une solution, ces outils font partie intégrante du cycle de vie d’un projet, ils sont souvent  intégrés pendant le processus de Build et s’appliquent sur le code source, ils peuvent être classifiés dans plsueiurs catégories, détection des violations de code, générations de métriques de qualité, vérification du style, etc.

  • Violation du code source :

¤Fx Cop : un outil de la plateforme Microsoft, il permet de valider la compliance C#, il est inclus dans ls SDK, disponible sur le lien suivant : http://www.microsoft.com/en-us/download/details.aspx?id=8279

¤CAT.Net : il représente un module complémentaire à Visual Studio, il permet de détecter les failles de sécurité, il est disponible à l’adersse suivante : http://www.microsoft.com/en-us/download/details.aspx?id=19968

¤Mono Gendarme : l’outil utilise la librarie Cecil pour detecter les violations, Cecil est disponible à l’adresse suivante : http://www.mono-project.com/Cecil, vous pouvez le télécharger gratuitement à l’adresse suivante http://www.mono-project.com/Gendarme

¤Clocksharp : Le TICS Basique pour C# vérifie plus de 100 règles de programmation, il représente un sous ensemble des règles Code Analysis, il est gratuit pour une période d’évaluation d’un mois, la license coûte 985€, disponible sur le lien suivant : http://www.tiobe.com/index.php/content/products/clocksharp/ClockSharp.html

¤Smokey : il est similaire à Fx Cop ou Gendarme, lui aussi est basé sur Mono.Cecil, il est téléchargable gratuitement à l’adresse suivante : http://code.google.com/p/smokey/ 

  • Vérification du style

¤Style Cop : un outil Microsoft gratuit disponible àl’adrsesse suivante : http://archive.msdn.microsoft.com/sourceanalysis

¤Agent Smith : représente le bloc de règles intégrées à Resharper, il est disponible à l’adresse suivante : http://agent-smith-resharper-plugin.software.informer.com/

Remarque : Les outils tels  CodeItRight et Reshaper interviennent sur les deux sujets cités précédement.

  • Générateurs de métriques qualitatives

¤Code metric : représente un module complémentaire à Visual Studio, est disponible gratuitement l’adresse suivante : http://reflectoraddins.codeplex.com/wikipage?title=CodeMetrics&referringTitle=Home

¤Reflector : Connu par tout le monde

¤NDepend : un outil permettant de générer des métriques telles index de maintenance, complexité cyclomatique etc. il apporte une vue macroscopique d’une solution, disponible à l’adresse suivante : http://www.ndepend.com/, vous disposez d’une version d’évaluation de 14 jours, les infos tarifaires sont disponibles à l’adresse suivante : http://www.ndepend.com/Purchase.aspx

¤Nitriq : un outil gratuit disponible à l’adresse suivante : http://www.nitriq.com/, il dispose d’un aspect visuel assez sympa (Treemap Results, Interact with Results etc.).

¤RSM Squared : représente un sous ensemble de Code Source Analysis, il est gratuit et dispoinible à l’adresse suivante : http://msquaredtechnologies.com/Installation.html

¤Source Editor : il est gratuit et disponible à l’adresse suivante : http://www.campwoodsw.com/sourcemonitor.html 

  • Détection de duplication

¤Simian : L’analyseur détecte de la duplication de code sur un ensemble important de langages, il est diponible gratuitement à l’adresse suivante :  http://www.harukizaemon.com/simian/index.html

¤CloneDR :  paramétré pour identifier les correspondances exactes ou évités de justesse à portée déterminable de différence, vous disposer de 60 jours d’évaluation gratuite, il est disponible à l’adresse suivante : http://www.semanticdesigns.com/Products/CloneDR/

¤Clone Detective : il est intégré comme complément à Visual Studio,  disponible gratuitement à l’adresse suivante : http://clonedetectivevs.codeplex.com/

¤Atomiq : il est disponible gratuitement à l’adresse suivante : http://www.getatomiq.com/

Contribute ALM on forums – First contributor last 30 days on TFS Tag


Ci-dessous quelques contributions ALM – TFS sur lesquelles je suis intervenu, si elles peuvent vous apporter des réponses à quelques unes de vos questions, le Forum stackoverflow, en particulier le Tag TFS est assez réactif !!!!

First Contributor for last 30 days on TFS Tag (Novembre 2013)

Untitled

GC.Collect

Work Item Charting TFS 2013


Un nouveau type arrive dans la famille des éléments de travail, il s’agit un élément graphique, ayant comme objectif de faciliter la consultation de résultats dédiés à l’exécution d’une requête WIQL, noter qu’un Work Item Charting peut avoir différents rendus spécifiques tels :

> Pie : Représente un rendu sous forme d’un camembert
> Bar : Représente un rendu sous forme de barre de progression
> Column : Représente un rendu sous forme d’histogramme
> Stacked Bar : Représente un rendu sous forme de barre de progression personnalisée selon les faits soulignés
> Pivot Table : Représente un rendu sous forme de table croisée.

Ci-dessous les étapes vous permettant de créer un Work Item Charting.

1. Commencer par créer une requête WIQL.

2. Sélectionner la section Charts correspondante à la requête exécutée.

Capture

3. Cliquer su le lien New chart

4. Vous pouvez configurer le rendu de votre chart

Configure

5. Ci-dessous les différents rendus

Rendu

 

GC.Collect