Afficher le chemin de la solution/du fichier dans Visual Studio IDE
-
09-06-2019 - |
Question
Je travaille fréquemment avec plusieurs instances de Visual Studio, travaillant souvent sur différentes branches de la même solution.
VC6 affichait le chemin complet du fichier source actuel dans sa barre de titre, mais Visual Studio 2005 ne semble pas le faire.Cela rend un peu plus difficile qu'il ne devrait l'être de déterminer quelle branche de la solution je regarde actuellement (le moyen le plus rapide que je connaisse est de survoler un onglet pour obtenir le chemin du fichier source sous forme d'info-bulle).
Existe-t-il un moyen d'obtenir la solution complète ou le chemin du fichier dans la barre de titre, ou au moins dans un endroit toujours visible afin que je puisse savoir rapidement quelle branche est chargée dans chaque instance ?
La solution
Il n’existe pas de méthode native pour le faire, mais vous pouvez y parvenir avec une macro.Les détails sont décrits ici dans leur intégralité : http://www.helixoft.com/blog/archives/32
Il vous suffit d'ajouter une petite macro VB à la section macro EvironmentEvents et de redémarrer VS.
Note:Le chemin n'apparaîtra pas lors du premier chargement de VS, mais il le sera chaque fois que vous modifierez le fichier que vous consultez.Il existe probablement un moyen de résoudre ce problème, mais cela ne semble pas très grave.
Autres conseils
Il s'agit d'une extension disponible dans la galerie en ligne spécialement conçue pour ce travail.Vérifier http://erwinmayer.com/labs/visual-studio-2010-extension-rename-visual-studio-window-title/
Découvrez la dernière version de Commandes VS 2010 Lite.Il a introduit une fonctionnalité appelée Friendly Solution Name où vous pouvez la configurer pour afficher le chemin du fichier de solution (ou n'importe quelle partie de celui-ci) dans le titre de la fenêtre principale de Visual Studio.Plus de détails: http://vscommands.com/releasenotes/3.6.8.0 et http://vscommands.com/releasenotes/3.6.9.0
Pour 2008, une façon légèrement meilleure d'écrire la macro à partir de la réponse acceptée ci-dessus consiste à utiliser les événements de solution au lieu de ceux du document - cela vous permet de toujours modifier la barre de titre, même si aucun document n'est sélectionné.Voici la macro que mon collègue et moi avons élaborée sur la base de l'autre - vous souhaiterez modifier les lignes 15 à 18 pour extraire le nom de votre branche du répertoire source, quelle que soit votre configuration.
01 Private timer As System.Threading.Timer
02 Declare Auto Function SetWindowText Lib "user32" (ByVal hWnd As System.IntPtr, ByVal lpstring As String) As Boolean
03
04 Private _branchName As String = String.Empty
05 Private Sub SolutionEvents_Opened() Handles SolutionEvents.Opened
06 Try
07 If timer Is Nothing Then
08 ' Create timer which refreshes the caption because
09 ' IDE resets the caption very often
10 Dim autoEvent As New System.Threading.AutoResetEvent(False)
11 Dim timerDelegate As System.Threading.TimerCallback = _
12 AddressOf tick
13 timer = New System.Threading.Timer(timerDelegate, autoEvent, 0, 25)
14 End If
15 Dim sourceIndex As Integer = DTE.Solution.FullName.IndexOf("\Source")
16 Dim shortTitle As String = DTE.Solution.FullName.Substring(0, sourceIndex)
17 Dim lastIndex As Integer = shortTitle.LastIndexOf("\")
18 _branchName = shortTitle.Substring(lastIndex + 1)
19 showTitle(_branchName)
20 Catch ex As Exception
21
22 End Try
23 End Sub
24
25 Private Sub SolutionEvents_BeforeClosing() Handles SolutionEvents.BeforeClosing
26 If Not timer Is Nothing Then
27 timer.Dispose()
28 End If
29 End Sub
30
31
32 ''' <summary>Dispose the timer on IDE shutdown.</summary>
33 Public Sub DTEEvents_OnBeginShutdown() Handles DTEEvents.OnBeginShutdown
34 If Not timer Is Nothing Then
35 timer.Dispose()
36 End If
37 End Sub
38
39 '''<summary>Called by timer.</summary>
40 Public Sub tick(ByVal state As Object)
41 Try
42 showTitle(_branchName)
43 Catch ex As System.Exception
44 End Try
45 End Sub
46
47 '''<summary>Shows the title in main window.</summary>
48 Private Sub showTitle(ByVal title As String)
49 SetWindowText(New System.IntPtr(DTE.MainWindow.HWnd), title & " - " & DTE.Name)
50 End Sub
C'est effectivement gênant.Survoler l'onglet est en effet l'une des rares choses utiles.Alternatives :clic droit sur l'onglet fichier : http://weblogs.asp.net/piseth/archive/2008/11/08/find-your-file-path-in-visual-studio.aspx On dirait que nous devons faire avec ça
J'utilise VSCommands 10 pour afficher le chemin complet du fichier de solution ouvert.
Friendly Name: {repo}
Solution Path Regex: (?<repo>.*)
Maintenant, ma fenêtre de titre principale ressemble à ceci :
c:\repositories\acme.marketplace.trunk\Acme.Marketplace.web\Acme.Marketplace.Web.sln
Je peux rapidement jeter un coup d'œil et voir que je travaille dans le dossier trunk ou dans un dossier rc car nous utilisons Mercurial (Hg) et gardons des dossiers séparés pour trunk, rc, preprod, prod comme ceci :
c:\repositories\acme.marketplace.rc1
c:\repositories\acme.marketplace.rc2
c:\repositories\acme.marketplace.trunk
c:\repositories\acme.marketplace.preprod
c:\repositories\acme.marketplace.prod
Comment personnaliser le titre de la fenêtre Visual Studio
Installez le Personnaliser le titre de la fenêtre Visual Studio brancher.
Après avoir installé l'extension, les paramètres se trouvent dans le menu.
Tools ► Options ► Customize VS Window Title
.
Plus d'information
Customize Visual Studio Window Title
est une extension légère de Visual Studio, qui vous permet de modifier le titre de la fenêtre pour inclure une arborescence de dossiers
Caractéristiques
- Une distance de profondeur minimale et maximale configurable par rapport au fichier solution/projet
- Permet l'utilisation de balises spéciales pour faciliter de nombreux autres scénarios possibles, notamment
Git
,Mercurial
etTFS
.
Utilisez la commande MKLINK pour créer un lien vers votre solution existante.En ce qui concerne Visual Studio, il fonctionne avec le fichier de lien, mais toutes les modifications sont apportées au fichier .sln sous-jacent.
J'ai écrit un article de blog ici à ce sujet...
Pour les personnes qui n’ont pas fait fonctionner la méthode VB (comme moi), vous pouvez utiliser un plugin :
http://visualstudiogallery.msdn.microsoft.com/f3f23845-5b1e-4811-882f-60b7181fa6d6
Je l'ai testé dans VS2008 Ultimate.Vous pouvez le configurer dans le menu Options de VS.
Si vous utilisez VS2010 ou une version ultérieure, vous pouvez utiliser l'extension "Visual Studio Window Title Changer".Installez-le et utilisez l'expression « Configuration du titre de la fenêtre » suivante pour afficher le chemin de la solution :
'sln_dir + "/" + orig_title'
Utilisez le gestionnaire d'extensions pour télécharger et installer l'extension.Les détails de l’extension et comment l’utiliser peuvent être trouvés ici :
https://visualstudiogallery.msdn.microsoft.com/2e8ebfe4-023f-4c4d-9b7a-d05bbc5cb239?SRC=VSIDE
Remarque connexe :Comme alternative, pour Visual Studio 2005, vous pouvez utiliser la commande Fichier -> Options d'enregistrement avancées.La boîte de dialogue affiche le chemin complet du fichier actuel et vous pouvez copier le texte.
Comme Dan l'a également mentionné dans un commentaire, le Chemin du fichier en pied de page l’extension sert le même objectif.
OngletsStudio | $49
Est une très bonne extension VS (bien que payante) qui fournit :
- Regroupement d'onglets
- Coloration des onglets
- Transformation du titre
- Beaucoup de personnalisation et d'extension
Chemin du fichier en pied de page | Gratuit
Affiche le chemin complet du fichier en bas de la fenêtre de l'éditeur
Mention honorable:Code de Visual Studio
Code VS version 1.26 fil d'Ariane implémenté qui affiche le chemin du fichier dans une ligne séparée en haut de la fenêtre de l'éditeur lors de l'utilisation des onglets ou insère le nom du fichier dans sa propre fenêtre.