62 votes

Comment changer le texte de la barre de titre de Visual Studio

Nous travaillons sur plusieurs branches différentes du même code, et lorsque nous travaillons sur deux branches à la fois, cela peut devenir confus et faire perdre du temps.

Actuellement, la barre de titre du VS contient le texte suivant <solution-name> - Visual Studio .

Est-il possible pour moi d'écrire une extension qui rendra ce texte <solution-name>: <branch-name> - <Visual Studio> ?

56voto

Erwin Mayer Points 3427

Je viens de créer une petite extension Visual Studio qui peut vous aider : http://visualstudiogallery.msdn.microsoft.com/f3f23845-5b1e-4811-882f-60b7181fa6d6

Cette petite extension permettra de détecter lorsque deux instances de Visual Studio Studio sont en cours d'exécution et change le titre de la fenêtre de Visual Studio pour pour inclure le nom du dossier parent de la solution. Il changera donc SolutionFolder - Microsoft Visual Studio en SolutionFolderParent \SolutionFolder - Microsoft Visual Studio .

Ceci est particulièrement utile lorsque d'une solution : il devient possible possible d'identifier facilement sur quelle branche sur laquelle vous travaillez, dans le cas où les deux auraient le même nom de la solution.

Page officielle ici : http://erwinmayer.com/labs/visual-studio-2010-extension-rename-visual-studio-window-title/

18voto

Registered User Points 1123

Consultez la dernière version de VSCommands 2010 Lite . Il a introduit une fonctionnalité appelée Friendly Solution Name, qui permet de configurer un modèle regex pour extraire le nom de la branche de la structure du dossier et le placer dans le titre de la fenêtre principale de Visual Studio. Plus de détails : http://vscommands.com/releasenotes/3.6.8.0 y http://vscommands.com/releasenotes/3.6.9.0

Page de téléchargement MSDN

3voto

ProfK Points 8761

La tentative de définir MainWindow.Caption entraîne une exception. Vous devez utiliser la fonction Win32 SetWindowText pour changer le titre, mais attention : Visual Studio réinitialise le texte de la barre de titre au pied levé, vous devez donc implémenter un Timer pour continuer à définir le texte souhaité. Le code suivant, extrait du fichier Connect de l'add-in conservera en permanence (ou tant que l'add-in est en cours d'exécution) le texte de la barre de titre sous la forme "Hello World !".

public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    resetTitleTimer = new Timer(new TimerCallback(SetMainWindowTitle), "Hello world!", 0, 10);
}

[DllImport("user32.dll")]
private static extern bool SetWindowText(IntPtr hWnd, string lpString);
private void SetMainWindowTitle(object state)
{
    IntPtr hWnd = (IntPtr)_applicationObject.MainWindow.HWnd;
    SetWindowText(hWnd, "Hello World!");            
}

1voto

conical Points 157

J'ai ajouté un lien symbolique avec un nom différent ciblant le fichier de la solution. Ouvrez la solution avec le lien symbolique et le titre de la fenêtre porte le nom du lien symbolique.

Dans Windows : mklink BlawBranch.sln Blaw.sln

EDIT : J'ai découvert qu'un lien dur se brise si le fichier .sln cible est mis à jour par notre contrôle de source. Un lien symbolique n'a pas le même problème.

1voto

pasztorpisti Points 1064

Une autre extension pour modifier la barre de titre de Visual Studio en la définissant comme une expression : http://visualstudiogallery.msdn.microsoft.com/2e8ebfe4-023f-4c4d-9b7a-d05bbc5cb239

La configuration qui fait appel à une "expression de titre" rend ce plugin assez flexible.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X