Mieux lancer le command prompt

Gagner beaucoup temps sur de longues opérations effectuées de temps en temps est très bien, mais il est également possible de gagner un temps considérable sur de petites opérations régulières.

Un bon exemple ? Le command prompt, que tout bon développeur qui se respecte démarre entre une et plusieurs dizaines de fois par jour.

Nous allons différencier 2 catégories de personnes :
- Les adeptes des raccourcis (taskbar ou bureau).
- Ceux qui cherchent a avoir un bureau le plus vide possible.

Pour chacune de ces catégories, 2 manières de lancer un command prompt existent :
- En mode “classique”, sans être administrateur
- En tant qu’administrateur

Ce billet se présentera en 4 parties :

I) Introduction de méthodes courantes
II) Lancement en tant qu’administrateur et UAC
III) La méthode “avec raccourcis”
IV) La méthode “sans raccourcis”

I) Introduction de méthodes courantes

Il existe de nombreuses façons de démarrer le command prompt :
- Windows + R, cmd, Enter
- Click sur un raccourci dans la taskbar ou sur le bureau

Non seulement ces méthodes sont très longues pour un lancement “classique”, elles sont encore plus longues lorsque l’on veut lancer le command prompt en tant qu’administrateur :

- Windows, cmd, (parfois attente qu’il affiche cmd.exe dans le menu démarrer), Click droit, Run as administrator

- Pour ceux qui ont un raccourci dans la taskbar, éventuellement Ctrl + Maj + Click s’ils le connaissent.

Dans tous les cas, a moins que vous ayez désactivé l’UAC (si c’est le cas c’est pas bien :p), vous devez valider l’UAC par un Click ou un “Flèche gauche + Enter“, qui vous coûtera quelques secondes additionelles.

Bien entendu, pour lancer le command prompt avec les privilèges il serait possible de préciser à cmd.exe de se lancer automatiquement en tant qu’administrateur, seulement :
1) Même si il y a peu de risques, niveau sécurité ça n’a pas l’air top. Effectuer des tâches avec le moins de droits possible est toujours préférable.
2) Quand nous avons besoin de lancer le command prompt sans être administrateur, nous perdons tout le temps gagné.

Les plus âgés d’entre vous me diront qu’il serait également possible de créer un batch contenant un simple runas /user:Administrator cmd, mais le mot de passe étant demandé à chaque fois, je ne vois pas comment gagner du temps avec cette méthode.

Avant toutes choses, nous allons d’abord régler les 2-3 secondes de perdues avec l’UAC une bonne fois pour toute.

II) Lancement en tant qu’administrateur et UAC

Se référer à ce post : Run as administrator sans valider ni désactiver l’UAC

Une fois que vous avez terminé, vous devez vous retrouver avec un raccourci qui ne déclenche plus l’UAC.

Pour la suite, je vais désigner par cmd le command prompt et cmda le raccourci qui le lance en tant qu’administrateur.

III) La méthode “avec raccourcis”

Faire un Pin to taskbar sur cmd et cmda. Les 2 raccourcis sont désormais dans la barre des tâches.

Il est possible de les lancer en cliquant dessus ou en utilisant Windows + [Position de l’élément dans la taskbar].

Exemple ici (cmd en 1er et cmda en 2e) :

- Lancer le command prompt : Windows + 1
- Lancer le command prompt en tant qu’administrateur : Windows + 2

C’est la façon de lancer le command prompt la plus rapide selon moi.
A noter qu’il est également possible de faire un Windows + Ctrl + Shift + 1 pour lancer le Command Prompt en tant qu’administrateur, mais de cette manière nous n’évitons pas la validation de l’UAC.

IV) La méthode “sans raccourcis”

Placer cmda dans C:\Windows\System32.

- Lancer le command prompt : Windows + R, cmd, Enter
- Lancer le command prompt en tant qu’administrateur : Windows + R, cmda, Enter

Un peu plus lente que la méthode précédente mais reste très efficace.
A noter qu’il est également possible de définir une Shortcut key dans les propriétés du raccourcis si vous le souhaitez (Ctrl + Alt + [touche de votre choix]).

Run as administrator sans valider ni désactiver l’UAC

Pour certains d’entre vous, l’UAC est un élément crucial de sécurité, pour d’autres c’est un ennemi du temps qu’il faut neutraliser.

Cependant, parmi les personnes qui désactivent (ou réduisent) l’UAC, il y en a qui ne le font que parce qu’1 ou 2 programmes qu’ils lancent régulièrement leur demandent à chaque fois l’autorisation.

Il existe une technique qui permet de lancer un certains nombre de programmes prédéfinis sans avoir à valider l’UAC, et ce sans même lui réduire son niveau.

Ceci ne s’adresse pas aux plus prudents d’entre vous (pour ne pas dire paranoïaques :p), qui n’approuverons pas la manipulation et préfèreront valider l’UAC. Par contre, pour ceux qui l’ont désactivé, ceci permettra éventuellement de pouvoir le réactiver ou augmenter son niveau, ce qui sera un peu mieux point de vue sécurité.

Sans plus attendre, voici comment procéder :

Ouvrez le Task Scheduler (Windows + R, taskschd.msc, Enter)

Cliquez sur Create Task… Dans la fenêtre qui apparaît, renseigner Name et cocher Run with highest privileges.

Rendez-vous dans Actions et cliquez sur New.

Sélectionnez le programme que vous souhaitez lancer (dans l’exemple je choisis le command prompt) puis validez

Maintenant que la tâche est créée, il ne nous reste plus qu’à créer le raccourci.

Au lieu de pointer directement vers le programme en lui même, nous allons passer par le Task Scheduler. Recopier la ligne suivante en remplaçant shortcut par le nom de la tâche créée précédemment :

schtasks /run /tn shortcut

Et voilà, votre programme (ici cmd) sera lancé en tant qu’administrateur sans même avoir affiché l’UAC (alors que l’UAC est toujours activé).

Font spéciale développeurs

Je vais vous présenter une font qui est très pratique. Elle permet de gagner 30% en visibilité sur votre code ! Son nom : MS Mail 3.
Elle présente un seul défaut (bien que ce ne soit pas vraiment de sa faute), Visual Studio 2010 n’est pas (encore ?) compatible avec.

Si vous êtes encore sous Visual Studio 2008, c’est une font a tester absolument.

Voici quelques screenshots comparatifs pour vous donner une idée :

Font par défaut (Courrier New) : 39 lignes visibles.

MSMail3 : 51 lignes visibles.

Voici la procédure pour installer la font :

Télécharger MSMAIL3.FON

Copier le fichier dans C:\Windows\Fonts

Dans Visual Studio 2008, aller dans Tools -> Options

Dans Font, sélectionner MsMail3, puis valider.

Il existe également d’autres polices de ce type, comme ProFont par exemple :

ProFont permet de gagner un peu de place en largeur par rapport a MsMail3 (en sacrifiant un peu de lisibilité au passage), mais tout codeur qui se respecte n’écrit pas de lignes interminables donc je préfère garder la lisibilité.

Go To Definition avec Ctrl + Click sous Visual Studio

Si vous venez du monde Java, vous pouvez trouver énervant de devoir faire F12 pour effectuer un Go To Definition (ou Go To Declaration ReSharperment parlant).

Ne vous inquiétez pas, il est possible de garder cette fonctionnalité. Pour cela, vous avez juste besoin de récupérer l’extension Go To Definition dans l’Extension Manager de Visual Studio.

Pour ma part je n’utilise plus cette extension car je préfère garder mon Ctrl + Click pour sélectionner un mot complet, ce qui est utile notamment lors de copy/paste répétitifs (sans relâcher Ctrl, il suffit de jongler entre Click, C, et V).

Exécuter des batch dans Visual Studio

Il est possible que dans le cadre d’un projet, le besoin d’exécuter un fichier *.bat ou *.cmd régulièrement se fasse ressentir (dans le cas d’une solution utilisant CodeFluent Entities par exemple).

A noter que l’exemple qui va suivre va montrer la démarche pour un batch, mais cela s’applique également pour des *.exe.

Allez dans le menu Tools -> External Tools

Dans la fenêtre qui apparaît, cliquer sur Add. Renseigner le nom (ici Batch File). Vous pourrez ensuite renseigner la commande, les éventuels arguments et le dossier où va s’exécuter notre commande/fichier.

Ici, j’utilise quelques variables :
- $(ItemPath) : Renvoie le chemin complet de l’élément sélectionné dans Visual Studio
- $(ItemDir) : Renvoie le dossier de l’élément sélectionné dans Visual Studio

Voici une liste des différentes variables disponibles :

Valider et répondre non au message qui apparaît car nous avons utilisé un chemin invalide :

Pourquoi utiliser ces variables plutôt que de donner le chemin vers l’exécutable “en dur” ?
De cette manière, je vais pouvoir exécuter le batch actuellement sélectionné dans Visual Studio, ce qui va s’avérer beaucoup plus souple si l’on peut avoir besoin de lancer de nombreux batch/exécutables différents, par exemple si l’on bosse sur plusieurs projets en même temps (si si, ça arrive ^^).

Maintenant on vérifie si tout fonctionne :

J’ai sélectionné un élément qui n’est pas un batch : Batch File est grisé.

Je sélectionne un batch : Batch File est disponible

Maintenant que vous savez utiliser ce menu, n’hésitez pas a vous en servir pour d’autres besoins (vu le potentiel de cette fonctionnalité, ça ne va pas être dur d’en trouver ^^).

Raccourcis Visual Studio avec ReSharper

ReSharper est un excellent outil d’aide au développement, seulement un de ses gros défauts est sa tendance a détruire nos précieux réglages Visual Studio.

Dans ce billet, je vais vous expliquer comment récupérer les raccourcis d’origine Visual Studio tout en gardant le très pratique Alt + Enter de ReSharper. Ici, je vais vous montrer comment réaliser cette manipulation avec Visual Studio 2010, mais le principe est le même pour Visual Studio 2008.

Nous allons procéder en 2 étapes :

I) Retour aux réglages par défaut
II) Ajout du Alt + Enter de ReSharper

I) Retour aux réglages par défaut

1) Dans Visual Studio, allez dans le menu Tools -> Options…

2) Dans la fenêtre des options qui apparaît, sélectionner Environment -> Keyboard dans le menu de gauche.
Vous êtes maintenant de le menu de règlage des raccourcis clavier de VS.

3) Sélectionnez Visual C# Studio 2005 dans la combobox puis cliquez sur Reset.
Ceci va remettre vos raccourcis clavier VS d’origine.

II) Ajout du Alt + Enter de ReSharper

1) Dans la textbox Press shortcut keys, appuyez sur Alt + Enter.
Cette combinaison de touches est déjà utilisée par d’autres fonctionnalités. Je recommande de les retirer afin d’éviter les “interférences”.

2) Pour les retirer, utiliser la recherche de raccourcis au-dessus (Show commands containing) et supprimez les commandes avec le bouton Remove en dessous.

3) Maintenant il ne nous reste plus qu’à ajouter le raccourcis ReSharper qui nous intéresse (il s’agit de ReSharper_QuickFix).
L’assigner a Alt + Enter et cliquer sur Assign.